如何避免使用 Yarn 在 monorepo 中安装包

How to avoid install of packages in monorepo using Yarn

我使用 LernaYarn workspaces.

构建了一个 monorepo

一切正常,但每次我安装一个新的依赖包(我们称他为 A)时使用:

yarn add <package_name>

Yarn 添加它然后触发 monorepo 中所有包的 install 脚本,甚至 A 不依赖的那些。

有办法避免这种情况吗?完全没有理由安装它们需要一些时间。

尝试添加到特定工作区:-

yarn workspace <workspace_name> add <package_name>

对于某些文档 check here

您可以在 .yarnrc.yml 中使用 nodeLinker: node-modules 尝试 Yarn 2。 Yarn 2 保证仅在其依赖项发生变化的包上触发重建,这是 Yarn 1 无法保证的。但是,如果在添加新包后以不同方式提升看似无关的包,仍然会出现非常罕见的情况, 但这种情况很少发生。

使用范围将包添加到特定模块。

lerna add some_package_1 --scope=some_module_x

更多:https://github.com/lerna/lerna/tree/master/commands/add#readme