2012-04-09 73 views
89

npm update似乎只是更新dependencies中的包,但devDependencies怎麼樣。如何更新NPM中的devDependencies?

現在你可以通過運行npm install .安裝devDependencies,但這並不爲npm update .

任何工作思路?

+0

我剛碰到同樣的事情。我對'npm install'和'npm update'之間的這種不對稱感到驚訝。我通過刪除我的'node_modules'目錄,然後再次運行'npm install'來解決這個問題,但是確實看起來應該有更好的方法。 – 2012-04-14 02:01:09

+0

嗯,我也是這麼做的。 – Matt 2012-04-14 04:47:21

+7

我爲此行爲打開了一個[bug報告](https://github.com/isaacs/npm/issues/2369)。我們將看到會發生什麼。 – 2012-04-14 12:21:00

回答

99

要在除本地模塊更新的package.json,運行

npm update --save-dev 

或者,相同的命令,以節省時間

npm update -D 

您可以查看完整的細節的更新或任何指令通過

npm help <cmd> 
+11

'npm update -D'不適用於我,它沒有更新任何內容。 – AmazingDreams 2016-01-21 11:25:49

+11

當問題不是如何保存「package.json」的更新時,爲什麼這被標記爲正確的答案,而是如何讓「npm update」更新devDependencies? – 2016-04-11 21:18:51

+0

npm 5正常工作.. – onalbi 2017-06-14 15:29:59

3

一種(慢)的方式來強制更新,是刪除node_modules目錄,然後再次執行npm install

這是npm update命令,已經盯在npm開發分支的一個已知的錯誤,在這裏看到: https://github.com/isaacs/npm/pull/3863

應該很快就NPM的最新穩定版本的土地。

+0

在npm> v5的情況下,您還需要刪除'package-lock.json'來完成這個工作,否則它只會安裝該鎖定文件中列出的版本。 – karfau 2017-10-10 08:23:52

2

添加新的依賴在config.json文件,

然後運行命令

npm update 

有時需要運行與sudo命令管理員權限的再使用。

sudo npm update 
7

此問題不再使用當前版本的NPM(1.3.11)消除。

更新工作正常:npm update

2

我遇到同樣的問題,因爲OP了,並沒有發現任何解決方案,所以我決定寫一咕嚕插件,將自動更新我的devDependencies ..

它在Github上,我很想獲得一些輸入和合作,以使它成爲NPM未提供的最佳工具。

基本上它會用一個簡單的Grunt Task自動更新過時的開發依賴項。

https://github.com/pgilad/grunt-dev-update

36

安裝NPM-籤更新(https://www.npmjs.org/package/npm-check-updates),然後跳轉到項目文件夾,然後運行:

npm-check-updates 

,並更新和更改保存到你的包。json文件:

npm-check-updates -u 
+0

退出有用的工具,感謝分享。 – 2015-06-28 11:11:02

3

如果您使用過時的npm版本,則可能是問題所在。所以,在任何其他的命令執行:

sudo npm install npm -g 

或者(如果上述方法無效):

sudo npm update npm -g 

然後重新開張控制檯(爲了使更改生效)。現在 你可以檢查你的新npm --version,如果它是最新的執行:

npm update 

或者(如果你喜歡):

npm update --save-dev