2014-10-02 31 views
1

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

$ node -v i get node version 0.10.x 

但是当我做:

$ sudo node -v i get node version 0.6.x 

su用户由于某种原因,使用的是不同的节点版本比我正常使用,这会导致兼容性问题,当我npm install包需要sudo

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

+1

什么是'这node'两个输出? – jgillich 2014-10-02 07:03:11

+0

你使用哪种发行版本? – jgillich 2014-10-02 07:03:34

+1

你有没有通过'nvm'安装'node'? – Ravi 2014-10-02 07:05:34

回答

3

运行ll /usr/bin/node如果该文件存在,只是从普通用户

解释

运行rm /usr/local/bin/node如果你运行的node从普通用户,你可能会看到它指向用户本地斌目录

which node 
/usr/local/bin/node 

这意味着常规用户在本地安装了另一个节点版本。

要让相同的节点版本适用于所有用户,此命令应该向您显示usr bin(不是本地)。

which node 
/usr/bin/node 

通过删除/usr/local/bin/node链接就会自动开始使用/usr/bin/node

+0

当我运行ll/usr/bin /节点时,我得到:lrwxrwxrwx 1 root root 22 Oct 2 07:11/usr/bin/node - >/etc/alternatives/node * – 2014-10-02 08:51:18

+0

只是一个快速更新。我运行了$ nvm deactivate,它删除了nvm shell指令。现在当我运行节点-v的版本匹配。当我运行哪个节点时,我得到了相同的版本和路径。我把这个标记为答案,因为这使我查找了另一个节点并删除了另一个节点。 – 2014-10-02 08:59:14

0

尝试与用户的环境中运行sudo的:

sudo -E node -v 
相关问题