我似乎无法使用npm install更新npm:
$ npm -v
5.6.0
$ sudo npm install -g npm@latest
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ npm@5.7.1
updated 1 package in 11.905s
$ npm -v
5.6.0
答案 0 :(得分:5)
which npm
的输出是什么,我打赌它不是/usr/bin/npm
。
<强>更新强>:
所以你的/usr/local/bin/npm
,但刚刚更新的npm
是/usr/bin/npm
。有关提示,请参阅第/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
行。
删除/usr/local/bin/npm
处的安装,你会没事的。
如果您不知道如何操作,只需执行
即可 sudo rm /usr/local/bin/npm
答案 1 :(得分:1)
使用hash -r
使bash清除其缓存,然后再次查看该路径以获取最新的npm路径。
答案 2 :(得分:0)
我注意到在安装更新后,我已经重新登录到Shell,也看到了更新的npm版本。不确定为什么有些人不需要这样做,但是就我而言,这就是我必须要做的。
答案 3 :(得分:0)
我有同样的问题,
转到您的根目录
运行 which npm 并查看 root,我相信它会是“/usr/local/bin/npm”
留在你的根上并尝试运行 npm install -g npm@latest
我敢打赌你会“缺少权限...”
留在你的根上并运行命令:(授予权限)
sudo chown -R $USER /usr/local/lib/node_modules
然后运行:
npm install -g npm@latest
现在应该可以了,请尝试运行 npm -v 看看它是否发生了变化。
祝你好运:)