簡體   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