如果使用 sudo npm --version,则 npm --version 会有所不同

HTO*_*Och 5 sudo nodejs npm 14.04

我刚刚在我的机器上升级了 nodejs。我卸载了我拥有的节点版本(ubuntu 存储库中的版本)。然后我安装了 nvm 并安装了 nodejs 4.2.2。

一切都没有错误,但是当我运行npm --version它时显示2.14.7,然后我决定运行:sudo npm install -g npm为了升级npm版本,但是当我检查它时它仍然显示2.14.7。所以,我再次检查但sudo npm --version这次使用的是最新的3.3.10版本。

为什么会发生这种情况,我该如何解决?

这是一个屏幕截图:
使用或不使用 sudo 显示不同的 npm 版本

我正在使用 Ubuntu 14.04。

编辑:

添加至多命令输出

sistemas@ITAACO01:~$ which npm
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
sistemas@ITAACO01:~$ sudo which npm
/usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)

小智 2

(从输出来看which)您的用户 ( ) 被设置为使用位于 的sistemas不同的过时版本- 忽略位于 的更新的系统范围版本。npm/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm/usr/local/bin/npm

检查是否/usr/local/bin在您的$PATH. (执行echo $PATH并查看其输出是否包含/usr/local/bin.

如果没有,请添加它(放入PATH="$PATH:/usr/local/bin"您的~/.bash_profile