W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
更新包
npm update [-g] [<pkg>...]
aliases: up, upgrade
此命令會(huì)將列出的所有包更新為最新版本(由tag
配置指定),尊重包及其依賴(lài)項(xiàng)的 semver 約束(如果它們也需要相同的包)。
它還將安裝缺少的軟件包。
如果-g
指定了標(biāo)志,此命令將更新全局安裝的包。
如果未指定包名稱(chēng),則將更新指定位置(全局或本地)中的所有包。
對(duì)于下面的示例,假設(shè)當(dāng)前包是app
并且它依賴(lài)于依賴(lài)項(xiàng)dep1
(?dep2
, .. 等)。已發(fā)布的版本dep1
有:
{
"dist-tags": { "latest": "1.2.2" },
"versions": [
"1.2.2",
"1.2.1",
"1.2.0",
"1.1.2",
"1.1.1",
"1.0.0",
"0.4.1",
"0.4.0",
"0.2.0"
]
}
如果app
的package.json
包含:
"dependencies": {
"dep1": "^1.1.1"
}
然后npm update
就會(huì)安裝dep1@1.2.2
,因?yàn)?code>1.2.2是latest
并且?1.2.2
滿(mǎn)足^1.1.1
。
但是,如果app
的package.json
包含:
"dependencies": {
"dep1": "~1.1.1"
}
在這種情況下,運(yùn)行npm update
將安裝dep1@1.1.2
.?即使latest
?標(biāo)記指向1.2.2
,此版本也不滿(mǎn)足~1.1.1
,相當(dāng)于>=1.1.1 <1.2.0
。所以~1.1.1
使用滿(mǎn)足的最高排序版本,即1.1.2
.
假設(shè)app
對(duì)下面的版本有插入符號(hào)依賴(lài)1.0.0
,例如:
"dependencies": {
"dep1": "^0.2.0"
}
npm update
將安裝dep1@0.2.0
,因?yàn)闆](méi)有其他版本滿(mǎn)足^0.2.0
.
如果依賴(lài)于^0.4.0
:
"dependencies": {
"dep1": "^0.4.0"
}
然后npm update
會(huì)安裝dep1@0.4.1
,因?yàn)槟鞘菨M(mǎn)足^0.4.0
(?>= 0.4.0 <0.5.0
)的最高排序版本
假設(shè)你的應(yīng)用現(xiàn)在也依賴(lài)于 dep2
:
{
"name": "my-app",
"dependencies": {
"dep1": "^1.0.0",
"dep2": "1.0.0"
}
}
并且 dep2
本身取決于 dep1
這個(gè)有限的范圍:
{
"name": "dep2",
"dependencies": {
"dep1": "~1.1.1"
}
}
然后使用npm update
將安裝dep1@1.1.2
,因?yàn)檫@是dep2
允許的最高版本。當(dāng)單個(gè)版本可以滿(mǎn)足樹(shù)中多個(gè)依賴(lài)項(xiàng)的 semver 要求時(shí),npm 將優(yōu)先考慮樹(shù)中的單個(gè)版本的 dep1
而不是兩個(gè)。在這種情況下,如果你確實(shí)需要你的包使用較新版本,則需要使用npm install
.
npm update -g
將update
操作應(yīng)用于每個(gè)全局安裝的包outdated
- 也就是說(shuō),具有不同于?latest
.
注意:全局安裝的包被視為安裝時(shí)制定了插入符號(hào)范圍。因此,如果你需要更新到 lastest
你可能需要運(yùn)行 npm install -g [<pkg>...]
。
注意:如果軟件包已升級(jí)到比 更新的版本latest
,它將被降級(jí)。
false
Boolean
在 global
模式下運(yùn)行,以便將包安裝到prefix
?文件夾而不是當(dāng)前工作目錄中。有關(guān)行為差異的更多信息,請(qǐng)參閱[文件夾]()。
{prefix}/lib/node_modules
文件夾中,而不是當(dāng)前工作目錄中。{prefix}/bin
{prefix}/share/man
false
Boolean
使 npm 以node_modules
與全局node_modules
文件夾相同的布局將包安裝到本地文件夾中。只有您的直接依賴(lài)項(xiàng)會(huì)顯示在其中,node_modules
并且它們所依賴(lài)的所有內(nèi)容都將在其node_modules
文件夾中展平。這顯然會(huì)消除一些重復(fù)數(shù)據(jù)刪除。如果與 一起使用legacy-bundling
,legacy-bundling
?將是首選。
false
Boolean
使 npm 安裝包,以便 1.4 之前的 npm 版本,例如 node 0.8 中包含的版本,可以安裝該包。這消除了所有自動(dòng)重復(fù)數(shù)據(jù)刪除。如果與global-style
此選項(xiàng)一起使用將是首選。
false
Boolean
如果設(shè)置為true
,并且--legacy-peer-deps
未設(shè)置,則任何?沖突peerDependencies
都將被視為安裝失敗,即使 npm 可以根據(jù)非對(duì)等依賴(lài)關(guān)系合理猜測(cè)適當(dāng)?shù)慕鉀Q方案。
默認(rèn)情況下,peerDependencies
依賴(lài)關(guān)系圖中的深層沖突將使用最近的非對(duì)等依賴(lài)項(xiàng)規(guī)范來(lái)解決,即使這樣做會(huì)導(dǎo)致某些包接收在其包peerDependencies
對(duì)象中設(shè)置的范圍之外的對(duì)等依賴(lài)項(xiàng)。
當(dāng)執(zhí)行此類(lèi)和覆蓋時(shí),會(huì)打印警告,解釋沖突和所涉及的包。如果--strict-peer-deps
設(shè)置,則此警告被視為失敗。
true
Boolean
如果設(shè)置為 false,則package-lock.json
在安裝時(shí)忽略文件。如果為真,這也將阻止寫(xiě)入?。package-lock.json``save
當(dāng)包包鎖被禁用時(shí),無(wú)關(guān)模塊的自動(dòng)修剪也將被禁用。要?jiǎng)h除禁用包鎖的無(wú)關(guān)模塊,請(qǐng)使用npm prune
.
NODE_ENV
環(huán)境變量設(shè)置為 'production',則為'dev?',否則為空。要從磁盤(pán)上的安裝樹(shù)中省略的依賴(lài)項(xiàng)類(lèi)型。
請(qǐng)注意,這些依賴(lài)的仍然解決,加入?package-lock.json
或npm-shrinkwrap.json
文件。它們只是沒(méi)有物理安裝在磁盤(pán)上。
如果包類(lèi)型同時(shí)出現(xiàn)在--include
和--omit
列表中,則它將被包含在內(nèi)。
如果生成的省略列表包含'dev'
,則NODE_ENV
環(huán)境變量將被設(shè)置'production'
為所有生命周期腳本。
false
Boolean
如果為 true,則 npm 不會(huì)運(yùn)行 package.json 文件中指定的腳本。
請(qǐng)注意,明確用于運(yùn)行特定腳本的命令,例如?npm start
,?npm stop
,?npm restart
,?npm test
, 并且npm run-script
?如果ignore-scripts
已設(shè)置仍將運(yùn)行其預(yù)期腳本,但它們不會(huì)運(yùn)行任何前置或后置腳本。
true
Boolean
當(dāng)為“true”時(shí),將審計(jì)報(bào)告與當(dāng)前 npm 命令一起提交到默認(rèn)注冊(cè)表和為范圍配置的所有注冊(cè)表。有關(guān)npm audit
提交內(nèi)容的詳細(xì)信息,請(qǐng)參閱文檔。
true
Boolean
告訴 npm.cmd
為包可執(zhí)行文件創(chuàng)建符號(hào)鏈接(或Windows 上的墊片)。
設(shè)置為 false 使其不這樣做。這可以用來(lái)解決一些文件系統(tǒng)不支持符號(hào)鏈接的事實(shí),即使在表面上是 Unix 系統(tǒng)上。
true
Boolean
當(dāng)“true”在每個(gè)結(jié)尾處顯示消息時(shí),npm install
?確認(rèn)正在尋找資金的依賴(lài)項(xiàng)的數(shù)量。詳情請(qǐng)參閱npm fund
。
false
Boolean
表示您不希望 npm 進(jìn)行任何更改并且它應(yīng)該只報(bào)告它會(huì)做的事情。這可以被傳遞到任何修改本地安裝,例如,命令的install
,update
,?dedupe
,uninstall
,以及pack
和publish
。
注意:這不是由其他網(wǎng)絡(luò)相關(guān)的命令,如兌現(xiàn)dist-tags
,?owner
等等。
String
(可多次設(shè)置)允許在當(dāng)前項(xiàng)目的一配置工作區(qū)的上下文中運(yùn)行命令,同時(shí)通過(guò)僅運(yùn)行此配置選項(xiàng)定義的工作區(qū)進(jìn)行過(guò)濾。
workspace
配置的有效值為:
為該 npm init 命令設(shè)置時(shí),可以將其設(shè)置為尚不存在的工作區(qū)的文件,以創(chuàng)建該文件夾并將其設(shè)置為項(xiàng)目中的全新工作區(qū)。
此值不會(huì)到處到子進(jìn)程的環(huán)境中。
false
Boolean
啟用在所有已配置工作區(qū)的上下文中運(yùn)行命令。
此值不會(huì)導(dǎo)出到子進(jìn)程的環(huán)境中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: