2016-04-21 169 views
1

運行Archlinux + Gnome-Shell 3.20,NodeJS 5.10.1 NPM 3.8.6版本。無法使用npm update/upgrade -g命令升級NPM軟件包

當運行sudo npm update -gsudo npm upgrade -g終端給出

npm ERR! addLocal Could not install /build/semver/src/semver-5.1.0.tgz 
npm ERR! addLocal Could not install /build/semver/src/semver-5.1.0.tgz 
npm ERR! addLocal Could not install /build/uglify-js/src/uglify-js-2.6.2.tgz 

相同輸出sudo npm outdated -g

在運行sudo npm install -g <package_name> 「更新」 包沒有問題。當然,我可以單獨安裝/升級每個軟件包,但這會破壞npm update/upgrade -g命令的用途。

我已經通過sudo npm install -g [email protected] 更新了NPM到最新版本,希望它能解決許多問題,像這裏的很多https://github.com/npm/npm/issues/10165但無濟於事。

回答

1

有幾件事情可能是錯誤的,這應該有助於解決您的問題。

  1. 你應該fix your npm permissions,這樣你就不必使用sudo當您試圖在全球範圍內安裝一個軟件包使用NPM。

  2. nvm是一個應該能夠幫助你的工具。通過查看GitHub問題,您的當前節點/ npm版本中可能存在錯誤/損壞,並且該工具nvm將使修改節點版本成爲可能,同時還修復了您的sudo問題。

也可能您使用pacman而不是npm安裝了npm,這可能是您無法正確升級的原因。您可以使用命令pacman -S npm(它是社區存儲庫中可用的軟件包)獲得最新版本的npm。