我刚刚在我的机器上升级了 nodejs。我卸载了我拥有的 node 版本(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 版本。
为什么会发生这种情况?我该如何解决?
以下是屏幕截图:
我正在使用 Ubuntu 14.04。
编辑:
添加 wich 命令输出
sistemas@ITAACO01:~$ which npm
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
sistemas@ITAACO01:~$ sudo which npm
/usr/local/bin/npm
答案1
(从输出来看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
)
答案2
有两种可能性:
新版本路径不存在:
添加路径。例如:添加
/usr/local/bin/npm
到路径旧版本早于
$PATH
:删除旧版本路径。例如:
/home/sistemas/.nvm/versions/node/v4.2.2/bin/npm
从中删除$PATH