2014-10-01 113 views
2

運行npm update更新package.json中列出的項目;然而,這些項目的依賴關係仍然過時。深度「npm更新」?

明顯的解決方法是再次運行npm update。有時我需要運行3次以獲得清潔npm outdatednpm update是否有執行深度更新的標誌?

另一種極端的解決方法是重新安裝

rm -rf node_modules 
npm install 
+0

是不是應該被認爲是有需要的代碼可以具體處理的舊副本? – dandavis 2014-10-01 18:21:24

+0

嗯........沒有 – kornieff 2014-10-01 18:28:27

+0

要小心,你的包可能與它們的依賴的新版本不兼容的。我認爲這是一個壞主意,這樣做 – meriadec 2014-10-01 18:38:07

回答

1

作爲醜陋的解決方法我已經在這個函數我的〜/ .bash_profile中

function up { 
    npm remove --save "$1"; 
    npm install --save "$1"; 
} 

所以每當我想更新的依賴我只需運行up expressup yourFavoritePackage

0

如果你看一看導演在node_modules中的y結構中,您會注意到每個模塊都有其自己的子目錄node_modules用於其依賴關係。您不需要多次運行「npm update」。

+1

這就是我的想法,很高興它不只是我... – dandavis 2014-10-01 18:37:29

+1

我理解,是的,是的;然而,在現實世界中,如果你在'npm update'後面運行'npm outdated',你會發現事實並非如此。 – kornieff 2014-10-01 18:39:05