【问题标题】:How to switch Nodejs Version of root user?如何切换root用户的Nodejs版本?
【发布时间】:2017-04-08 04:39:23
【问题描述】:

我遇到了posted here的问题,并通知原因可能是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。

【问题讨论】:

  • 为什么不直接检查根路径,找到并升级0.10.42版本?
  • 我是nodejs新手,你能告诉我怎么做吗?
  • 你运行的是什么操作系统?假设它是一个 *nix,如果你以 root 身份登录,你可以键入“which node”和“node -v”来查看它从哪里获取节点版本以及它是什么版本。如果那是旧版本,并且您没有其他依赖于旧版本,则可以在该位置安装新版本。
  • 您可能还可以在设置 chron 任务时指定要运行的实际 node.js 版本的路径。
  • 我正在使用centOS。 which node 给我/usr/local/bin/node

标签: node.js crontab


【解决方案1】:

我发现我可以简单地将正确的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

【讨论】:

    【解决方案2】:

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

    $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
    

    【讨论】:

    • 我建议使用 ln 而不是 cp 所以当你更新节点时,你的根节点也会更新。
    【解决方案3】:
    [root@localhost]# ln -s /usr/local/bin/node /usr/bin/node 
    

    【讨论】:

    • 虽然此代码可以解决问题,including an explanation 说明如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提出问题的人。
    【解决方案4】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 2017-07-06
      • 2014-04-01
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      相关资源
      最近更新 更多