我有一个Lerna项目,直到最近一直在使用lerna bootstrap --hoist
。这很好用,但是我发现许多子文件夹中的devDependencies
基本相同。升级到Lerna v3,我了解了lerna link convert.
lerna链接转换是否只是将所有子文件夹devDependencies
移至根目录,子文件夹扫描父node_modules
来加载它们(NPM的功能)?我注意到子文件夹中的依赖项已更改为“file://”,而不是专用的npm存储,该存储指示一旦发布并使用,它们将不会被加载。
同样,如果删除了lerna bootstrap
,则不会安装子模块中的dependencies
。用什么方法解决这个问题?
最佳答案
我的建议是利用Yarn Workspaces将软件包“提升”到根级别的功能。这将防止在程序包中嵌套相同的依赖项。
Here's a completed example和associated tutorial.