如何避免使用 Yarn 在 monorepo 中安装包
How to avoid install of packages in monorepo using Yarn
我使用 Lerna 和 Yarn 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
我使用 Lerna 和 Yarn 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