一尘不染

在EC2上:找不到sudo node命令,但是没有sudo的节点可以

node.js

我刚刚在新的EC2微型实例上安装了nodejs。

我通常安装它,./configure-> make-> sudo make install。

问题: 当我在ec2-user下运行“ node”时,它运行正常。当我运行“ sudo节点”时,它失败。

我发现该节点位于:

[ec2-user@XXXX ~]$ whereis node
node: /usr/local/bin/node /usr/local/lib/node

而当前路径是

[ec2-user@XXXX ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/opt/aws/bin:/home/ec2-user/bin

但是,sudo路径是

[root@ip-10-112-222-32 ~]# echo $PATH
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin

然后我尝试编辑根PATH以包含到节点的路径,因此当我以root身份登录时,“ node”会运行-但是当我以ec2-user身份登录并运行“ sudo
node”时,它仍然无法使用。

我需要安装npmproperfly。关于如何在运行“ sudo节点”时包括节点路径的任何想法?


阅读 330

收藏
2020-07-07

共1个答案

一尘不染

是的,这有点烦人,但是您可以通过一些链接来修复它:

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

可能还有更多,但这是到目前为止我所遇到的全部。缺少节点Waf将导致某些npm安装失败,并显示一条相当隐秘的错误消息。

2020-07-07