如何解决删除工作区后更新 yarn.lock
假设我有一个使用标准 workspace 结构的 monorepo:
monorepo
|- package.json
|- yarn.lock
|- packages
|- package_a
|- package_b
我想完全摆脱 package_a
,同时也相应地更新 yarn.lock。
以下不会更新锁文件:
$ rm -rf packages/package_a
$ yarn install
在 monorepo 的根目录中运行它也不起作用:
$ yarn remove -W package_a
error This module isn't specified in a package.json file.
这确实有效,但会影响所有 范围允许的不需要的包。
$ rm -rf packages/package_a
$ yarn upgrade
我怎样才能做到这一点?
解决方法
我可能误解了您的问题...但您似乎需要将每个 package
包含在您的 package.json
中,如此处每个 workspace
所述:https://classic.yarnpkg.com/en/docs/workspaces/。
在 package.json
中需要:
{
"private": true,"packages": ["package_a","package_b"]
}
我猜这就是您在尝试 error This module isn't specified in a package.json file.
时收到错误 yarn remove -W package_a
的原因。当它包含在 package.json
中时,只需 yarn remove package_a
这也会自动更新您的 yarn.lock
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。