尽力描述问题,
纱线 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 与这两种情况不同,但是如何解决这个问题?