W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
減少包樹中的重復
npm dedupe
npm ddp
aliases: find-dupes, ddp
搜索本地包樹并嘗試通過將依賴關(guān)系進一步向上移動樹來簡化整體結(jié)構(gòu),在那里它們可以被多個依賴包更有效地共享。
例如,考慮這個依賴圖:
a
+-- b <-- depends on c@1.0.x
| `-- c@1.0.3
`-- d <-- depends on c@~1.0.9
`-- c@1.0.10
在這種情況下, npm-dedupe
將樹轉(zhuǎn)換為:
a
+-- b
+-- d
`-- c@1.0.10
由于節(jié)點模塊查找的分層性質(zhì),b 和 d 都將通過樹根級別的單個 c 包滿足它們的依賴關(guān)系。
在某些情況下,你可能有這樣的依賴關(guān)系圖:
a
+-- b <-- depends on c@1.0.x
+-- c@1.0.3
`-- d <-- depends on c@1.0.x
`--c@1.9.9
在安裝過程中,c@1.0.3
for的依賴b
被放置在樹的根部。盡管d
對 的依賴c@1.x
可以由 滿足c@1.0.3
,但c@1.9.0
使用了較新的依賴,因為 npm 默認支持更新,即使這樣做會導致重復。
運行npm dedupe
會導致 npm 注意到重復并重新評估,刪除嵌套的c
模塊,因為 root 中的一個就足夠了。
要在安裝過程中更喜歡重復數(shù)據(jù)刪除而不是新穎性,請運行?npm install --prefer-dedupe
或npm config set prefer-dedupe true
。
參數(shù)被忽略。Dedupe 始終作用于整個樹。
請注意,此操作會轉(zhuǎn)換依賴關(guān)系樹,但永遠不會導致安裝新模塊。
使用npm find-dupes
將以--dry-run
模式運行命令。
false
Boolean
使 npm 以node_modules
與全局node_modules
文件夾相同的布局將包安裝到本地文件夾中。只有您的直接依賴項會顯示在其中,node_modules
并且它們所依賴的所有內(nèi)容都將在其node_modules
文件夾中展平。這顯然會消除一些重復數(shù)據(jù)刪除。如果與 一起使用legacy-bundling
,legacy-bundling
?將是首選。
false
Boolean
使 npm 安裝包,以便 1.4 之前的 npm 版本,例如 node 0.8 中包含的版本,可以安裝該包。這消除了所有自動重復數(shù)據(jù)刪除。如果與global-style
此選項一起使用將是首選。
false
Boolean
如果設(shè)置為true
,并且--legacy-peer-deps
未設(shè)置,則任何?沖突peerDependencies
都將被視為安裝失敗,即使 npm 可以根據(jù)非對等依賴關(guān)系合理猜測適當?shù)慕鉀Q方案。
默認情況下,peerDependencies
依賴關(guān)系圖中的深層沖突將使用最近的非對等依賴項規(guī)范來解決,即使這樣做會導致某些包接收在其包peerDependencies
對象中設(shè)置的范圍之外的對等依賴項。
當執(zhí)行此類和覆蓋時,會打印警告,解釋沖突和所涉及的包。如果--strict-peer-deps
設(shè)置,則此警告被視為失敗。
true
Boolean
如果設(shè)置為 false,則package-lock.json
在安裝時忽略文件。如果為真,這也將阻止寫入?。package-lock.json``save
當包包鎖被禁用時,無關(guān)模塊的自動修剪也將被禁用。要刪除禁用包鎖的無關(guān)模塊,請使用npm prune
.
NODE_ENV
環(huán)境變量設(shè)置為 production
,則為dev?
,否則為空。dev
、optional
或peer
(可多次設(shè)置)要從磁盤上的安裝樹中省略的依賴項類型。
請注意,這些依賴的仍然解決,加入?package-lock.json
或npm-shrinkwrap.json
文件。它們只是沒有物理安裝在磁盤上。
如果包類型同時出現(xiàn)在--include
和--omit
列表中,則它將被包括在內(nèi)。
如果生成的省略列表包含'dev'
,則NODE_ENV
環(huán)境變量將被設(shè)置'production'
為所有生命周期腳本。
false
Boolean
如果為 true,則 npm 不會運行 package.json 文件中指定的腳本。
請注意,明確用于運行特定腳本的命令,例如?npm start
,?npm stop
,?npm restart
,?npm test
, 并且npm run-script
?如果ignore-scripts
已設(shè)置仍將運行其預期腳本,但它們不會運行任何前置或后置腳本。
true
Boolean
當為“true”時,將審計報告與當前 npm 命令一起提交到默認注冊表和為范圍配置的所有注冊表。有關(guān)npm audit
提交內(nèi)容的詳細信息,請參閱文檔。
true
Boolean
告訴 npm.cmd
為包可執(zhí)行文件創(chuàng)建符號鏈接(或Windows 上的墊片)。
設(shè)置為 false 使其不這樣做。這可以用來解決一些文件系統(tǒng)不支持符號鏈接的事實,即使在表面上是 Unix 系統(tǒng)上。
true
Boolean
當“true”在每個結(jié)尾處顯示消息時,npm install
?確認正在尋找資金的依賴項的數(shù)量。
false
Boolean
表示你不希望 npm 進行任何更改并且它應該只報告它會做的事情。這可以被傳遞到任何修改本地安裝,例如,命令的install
,update
,?dedupe
,uninstall
,以及pack
和publish
。
注意:這不是由其他網(wǎng)絡相關(guān)的命令,如兌現(xiàn)dist-tags
,?owner
等等。
String
(可多次設(shè)置)允許在當前項目的已配置工作區(qū)的上下文中運行命令,同時通過僅運行此配置選項定義的工作區(qū)進行過濾。
workspace
配置的有效值為:
為該npm init
命令設(shè)置時,可以將其設(shè)置為尚不存在的工作區(qū)的文件夾,以創(chuàng)建該文件夾并將其設(shè)置為項目中的全新工作區(qū)。
此值不會導出到子進程的環(huán)境中。
false
Boolean
啟用在所有已配置工作區(qū)的上下文中運行命令。
此值不會導出到子進程的環(huán)境中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: