2015-11-05 116 views
10

我在創作一個我想發佈到NPM的包A.NPM:永遠不要爲npm包安裝嵌套的可選依賴關係

A依賴於程序包B,而程序包B又依賴於程序包C.然後C具有兩個可選的本地依賴項D和E.我知道對於可選的依賴關係D和E我沒有用處,並且從不想在有人安裝我的軟件包時嘗試安裝它們。

我知道你可以使用命令npm install A --no-optional -g來安裝沒有可選依賴的軟件包,但這是知識/開銷,我寧願軟件包的用戶不需要。

是否有任何npm配置或解決方法,其中包A的使用者只能使用npm install Anpm install -g A,並且永遠不會安裝可選的依賴項?

感謝

回答

3
npm install A --no-optional 

測試,看看是否一切正常。

npm list 

確保您沒有錯誤。

npm shrinkwrap 

這將鎖定包的依賴關係。

這樣npm install會在嘗試安裝依賴關係之前查看npm-shrinkwrap.json。

你可以在這裏閱讀更多關於它https://docs.npmjs.com/cli/shrinkwrap