软件包升级后,从yarn全新安装将破坏节点应用程序

问题描述 投票:0回答:1

尽力描述问题,

纱线 1.22.19, 节点 16.16.0, MacOS

  • 从现有的节点应用程序开始,一切都很好,包括单元 测试
  • yarn Upgrade-interactive --latest(注意:我只是选择了一些进行升级),我得到了新的 package.json 和新的yarn.lock
  • “纱线测试”通过,这是用于单元测试
  • rm -rf 节点模块
  • 纱线安装
  • “纱线测试”失败(类似于此https://github.com/iarna/wide-align/issues/63
  • 错误 [ERR_REQUIRE_ESM]:不支持来自 /myApp/node_modules/cliui/build/index.cjs 的 ES 模块 /myApp/node_modules/string-width/index.js 的 require()。
  • 恢复yarn.lock,现在唯一的变化是package.json
  • 纱线安装
  • “纱线测试”通过

因此,如果我在新系统中,从新的 package.json 和新的yarn.lock 启动,我将无法启动我的应用程序。我需要旧的yarn.lock 和新的package.json 来进行正确的安装。 确实明白 node_modules 与这两种情况不同,但是如何解决这个问题?

node.js yarnpkg yarn-lock.json
1个回答
0
投票

正如 Phil 建议的那样,升级到yarn v3 解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.