无法使用npm update / upgrade -g命令升级NPM软件包
运行Archlinux + Gnome-Shell 3.20,NodeJS 5.10.1 NPM 3.8.6版本。
当运行sudo npm update -g
或者sudo npm upgrade -g
terminal给出
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 outdated -g
当运行sudo npm install -g <package_name>
“updates”包时没有问题。 当然,我可以单独安装/升级每个软件包,但是这违背了npm update / upgrade -g命令的目的。
我已经通过sudo npm install -g npm@latest
更新了NPM到最新版本,希望它能解决这个问题,就像这里的很多https://github.com/npm/npm/issues/10165,但无济于事。
有几件事情可能是错误的,这应该有助于解决您的问题。
-
你应该修复你的npm权限 ,所以当你试图用npm全局安装一个软件包时,你不必使用
sudo
。 -
nvm是一个应该能够帮助你的工具。 通过查看GitHub问题,可能会在当前节点/ npm版本中出现错误/损坏,而nvm工具将使修改节点版本成为可能,同时也解决了您的
sudo
问题。
你也可能使用pacman而不是npm来安装npm,这就是为什么你无法正确升级的原因。 你可以通过使用命令pacman -S npm
这个社区资源库中可用的包来获得最新版本的npm。