无法使用npm update/upgrade -g命令升级NPM软件包
问题描述:
运行Archlinux + Gnome-Shell 3.20,NodeJS 5.10.1 NPM 3.8.6版本。无法使用npm update/upgrade -g命令升级NPM软件包
当运行sudo npm update -g
或sudo 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但无济于事。
答
有几件事情可能是错误的,这应该有助于解决您的问题。
你应该fix your npm permissions,这样你就不必使用
sudo
当您试图在全球范围内安装一个软件包使用NPM。nvm是一个应该能够帮助你的工具。通过查看GitHub问题,您的当前节点/ npm版本中可能存在错误/损坏,并且该工具nvm将使修改节点版本成为可能,同时还修复了您的
sudo
问题。
也可能您使用pacman而不是npm安装了npm,这可能是您无法正确升级的原因。您可以使用命令pacman -S npm
(它是社区存储库中可用的软件包)获得最新版本的npm。