如何切换root用户的Nodejs版本?

How to switch Nodejs Version of root user?

我遇到了和一样的问题,并告知可能是nodejs版本问题。

如下图,node版本没问题

$node -v
v7.2.0

但是给我一个异常版本的root用户,crontab进程使用

$sudo su
$node -v
v0.10.42

我试过 $n rm 0.10.42$n 7.2.0 很多次都无法解决问题

有人可以帮忙吗?我希望 crontab 进程使用正确版本的 nodejs。

我通过删除原始节点并复制一个新版本来解决问题。

$sudo su
$node -v
v0.10.42  //old version
$which node
/usr/bin/node
$mv /usr/bin/node /usr/bin/node.bk  //rename the old node
$node -v
bash: /usr/bin/node: No such file or directory
$n bin 7.2.0  //find out the path of the new node installed
/usr/local/n/versions/node/7.2.0/bin/node
$cp /usr/local/n/versions/node/7.2.0/bin/node /usr/bin/node  //replace
$node -v
v7.2.0  //success

也许您可以尝试使用 nvm 来管理您的节点版本。请通过命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

安装 nvm

尝试执行 nvm install version 安装你想要的版本,然后使用 nvm use version 选择你想要的。

我发现我可以简单地将正确的 which node 路径添加到 $PATH。

$which node
/usr/local/bin/node
$sudo su
$which node
/usr/bin/node
$export PATH=$PATH:/usr/local/bin
$node -v
v7.2.0
[root@localhost]# ln -s /usr/local/bin/node /usr/bin/node