Sudo用户不使用相同的节点版本

Alo*_*mel 9 linux node.js

我在我的服务器上有一个奇怪的问题,当我尝试安装包,npm这需要sudo我遇到问题,我发现我su和普通用户使用不同的节点版本.

$ node -v i get node version  0.10.x
Run Code Online (Sandbox Code Playgroud)

但当我这样做时:

$ sudo node -v i get node version 0.6.x
Run Code Online (Sandbox Code Playgroud)

我的su用户出于某种原因使用的是不同于我通常使用的节点版本,这会导致我npm install需要的软件包兼容性问题sudo.

我没试过sudo apt-get upgrade nodejs.我如何让su用户使用与我的普通用户相同的节点版本.

guy*_*abi 13

运行ll /usr/bin/node,如果该文件存在,那么仅仅运行rm /usr/local/bin/node在普通用户

说明

如果您node从常规用户运行它,您可能会看到它指向用户本地bin目录

which node
/usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)

这意味着普通用户在本地安装了另一个节点版本.

要让相同的节点版本适用于所有用户,此命令应显示usr bin(非本地).

which node 
/usr/bin/node
Run Code Online (Sandbox Code Playgroud)

通过删除/usr/local/bin/node它的链接将自动开始使用/usr/bin/node

  • 只是快速更新。我运行了$ nvm deactivate,它删除了nvm shell指令。现在,当我运行node -v时,版本匹配。当我运行哪个节点时,我会得到相同的版本和路径。我将此标记为答案,因为这使我寻找另一个节点并删除了另一个节点。 (2认同)