Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Sudo用户未使用相同的节点版本_Linux_Node.js - Fatal编程技术网

Linux Sudo用户未使用相同的节点版本

Linux Sudo用户未使用相同的节点版本,linux,node.js,Linux,Node.js,我的服务器上有一个奇怪的问题,当我尝试安装需要sudo的npm软件包时,我遇到了问题,我发现我的su和普通用户使用不同的节点版本 $ node -v i get node version 0.10.x 但当我这样做的时候: $ sudo node -v i get node version 0.6.x 由于某种原因,我的su用户使用的节点版本与我通常使用的不同,这会在我npm安装需要sudo的软件包时导致兼容性问题 我已经尝试过sudo在没有运气的情况下获得升级nodejs。如何让su用户

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

$ node -v i get node version  0.10.x
但当我这样做的时候:

$ sudo node -v i get node version 0.6.x
由于某种原因,我的
su
用户使用的节点版本与我通常使用的不同,这会在我
npm安装需要
sudo
的软件包时导致兼容性问题


我已经尝试过sudo在没有运气的情况下获得升级nodejs。如何让su用户使用与常规用户相同的节点版本。

运行
ll/usr/bin/node
如果存在此文件,只需从常规用户运行
rm/usr/local/bin/node

解释

如果您从普通用户运行哪个
节点
,您可能会看到它指向用户本地bin目录

which node
/usr/local/bin/node
这意味着普通用户在本地安装了另一个节点版本

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


通过从
/usr/local/bin/node
中删除链接,它将自动开始使用
/usr/bin/node
尝试在用户环境中运行sudo:

sudo -E node -v

哪个节点
的输出是什么?您使用哪个发行版和版本?您是否通过
nvm
安装了
节点
?您可能应该为您的普通用户卸载节点,然后安装sudo npm-g nodejs,这样每个人都只使用一个节点的全局副本。普通用户:/root/.nvm/v0.10.13/bin/node sudo:/usr/bin/node当我运行ll/usr/bin/node时,我得到:lrwxrwx 1 root root 10月22日07:11/usr/bin/node->/etc/alternations/node*只是一个快速更新。我运行了$nvm deactivate,它删除了NVMShell指令。现在,当我运行node-v时,版本匹配。当我运行哪个节点时,我会得到相同的版本和路径。我将此标记为答案,因为这使我查找另一个节点并删除另一个节点。
sudo -E node -v