微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除工作区后更新 yarn.lock

如何解决删除工作区后更新 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

https://classic.yarnpkg.com/en/docs/cli/remove

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。