我使用 Lerna 和 Yarn工作区构建了一个monorepo。
一切正常,但是每次我使用以下方法在软件包上安装新的依赖项(我们称他为 A )时:
yarn add <package_name>
Yarn添加它,然后触发monorepo中所有软件包的install
脚本,甚至包括 A 不依赖的软件包。
有没有避免这种情况?完全无需花费一些时间即可安装它们。
答案 0 :(得分:5)
答案 1 :(得分:5)
使用范围将包添加到特定模块。
lerna add some_package_1 --scope=some_module_x
更多:https://github.com/lerna/lerna/tree/master/commands/add#readme
答案 2 :(得分:4)
您可以在nodeLinker: node-modules
中使用.yarnrc.yml
尝试使用纱线2。 Yarn 2保证只在依赖项已更改的程序包上触发重建,这是Yarn 1不能保证的。但是,如果在添加新程序包后以不同的方式提升它们似乎无关紧要的程序包,则仍然存在非常罕见的情况,但这种情况很少发生。