繁体   English   中英

安装我的依赖的开发依赖

[英]Install the dev dependencies of my dependencies

我有一个monorepo,其中有一个包含许多软件包的/packages文件夹。

我可以使用npm i ./packagesnpm 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是率先使用lerna的流行工具,建议您在根软件包中添加这些软件包的所有devDependencies 这样做的问题是,它消除了两个软件包依赖给定dev依赖关系的不同版本的能力。

我所做的是创建一个脚本,该脚本在preinstall将所有devDependencies合并为dependencies ,然后撤消更改。 这行得通,但有时可能有点不方便,尤其是在将所有这些都解释为“ shrinkwrap

如果我可以npm i --allDevDepsFromDeps并安装所有依赖项dev依赖npm i --allDevDepsFromDeps ,那就npm i --allDevDepsFromDeps

我还有其他解决方案吗?

我看不到您要达到的目标,不是devDepencies用于...开发吗?

如果您想为不同的软件包使用不同的版本,请不要将其放在根目录中,而应放在每个软件包中。

问题是,如果我安装这些软件包,则不会获得开发依赖。

您应该将那些软件包视为“生产” /“捆绑”软件包,在这种情况下,您不需要开发依赖项。

例如,当您使用@ pkg / A时,它将具有自己的devDep,但是如果您使用依赖于@ pkg / A的@ pkg / B,则@ pkg / A应该是生产/捆绑版(没有devDeps)。

也许您应该看看bundledDependenciespeerDependencies ,这可能会对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM