2016-04-21 171 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。