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

use*_*105 5 crontab node.js

我面临此处发布的问题,并通知原因可能是nodejs的版本。

如下所示,节点版本很好。

$node -v
v7.2.0
Run Code Online (Sandbox Code Playgroud)

但这给了我一个非正常的root用户版本,供crontab进程使用。

$sudo su
$node -v
v0.10.42
Run Code Online (Sandbox Code Playgroud)

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

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

use*_*105 7

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

$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
Run Code Online (Sandbox Code Playgroud)


use*_*105 5

我发现我可以简单地将正确的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
Run Code Online (Sandbox Code Playgroud)