我有一个 monorepo,其中有一个/packages
包含许多包的文件夹。
我可以使用npm i ./packages
或者npm i
是否已经使用文件指针指定了它们。
看起来像这样:
"dependencies": {
"@reggi/command": "file:packages/command",
"@reggi/dep-merge": "file:packages/dep-merge",
"@reggi/dep-merge-cli": "file:packages/dep-merge-cli",
"@reggi/dep-pointer": "file:packages/dep-pointer"
}
问题是,如果我安装这些软件包,我不会获得开发依赖项。
我真正想要的是也安装devDependencies
这些依赖项。
lerna
一个率先使用 monorepos 的流行工具建议您将devDependencies
这些包的所有内容添加到根包中。这样做的问题是它消除了两个包依赖给定开发依赖项的不同版本的能力。
我所做的是创建一个脚本,将所有内容合并devDependencies
到dependencies
atpreinstall
然后撤消更改。这可行,但有时可能有点不稳定,尤其是在向shrinkwrap
.
如果我能npm i --allDevDepsFromDeps
安装我的所有依赖项开发依赖项,那就太好了。
我还缺少其他解决方案吗?