问题描述
我正在使用 yarn berry 和 heroku 并且一直出现错误:
➤ YN0028: │ The lockfile would have been modified by this install,which is explicitly forbidden.
这表明我的锁文件不包含我列出的所有依赖项。在纱线文档中,它说这可以通过运行 yarn install
并将新的锁文件推送到 git 来轻松解决。但是我已经尝试过这个,尝试过新的 node_modules 等,但没有运气。
有没有其他人在使用 yarn berry + heroku 时遇到过这个问题?
我的 repo 是一个使用工作区的 monorepo。
解决方法
我能够按照建议的 here 将 env-var YARN_ENABLE_IMMUTABLE_INSTALLS
设置为 false
来解决。
这可能是 Yarn Berry 中的一个错误。我已在此处报告:https://github.com/yarnpkg/berry/issues/2948
UPD:我从 GitHub 创建了一个repo 的全新本地克隆,在其中运行了 yarn install
,它确实在 {{1 }}。提交这些更改解决了 CI 问题,因此我不再需要禁用 yarn.lock
。
原始本地存储库显示了一个干净的 YARN_ENABLE_IMMUTABLE_INSTALLS
,所以我仍然认为这是一个错误。