在EC2上:sudo的节点找不到命令,但节点没有sudo是确定 [英] On EC2: sudo node command not found, but node without sudo is ok
问题描述
我刚装上了一个新的EC2实例微nodejs。
I have just installed nodejs on a new EC2 micro instance.
我正常安装了它,在./configure - >让 - >须藤使安装
I installed it normally, ./configure -> make -> sudo make install.
问题::当我运行在EC2用户的节点,它运行完美。当我运行命令的节点,它失败。
Problem: When I run "node" under ec2-user, it runs perfectly. When I run "sudo node", it fails.
我发现节点是:
[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的路径是
but, the sudo path is
[root@ip-10-112-222-32 ~]# echo $PATH
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin
然后我试图修改root用户的PATH包含的路径节点,所以当我以root身份登录节点运行 - 但是,当我作为EC2用户和运行日志中仍然无法工作须藤节点。
then I tried to edit the root PATH to include the paths to node, so "node" runs when I'm logged in as root - but it still won't work when I log in as ec2-user and run "sudo node".
我需要这个安装NPM properfly。如何在运行命令节点包括节点路径任何想法?
I need this to install npm properfly. Any idea on how to include the node path while running "sudo node"?
推荐答案
是的,这是一个有点讨厌,但你可以通过一些链接解决这个问题:
Yes, it is a bit annoying but you can fix it with some links:
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
安装失败,一个相当神秘的错误消息。
There might be more but that is all I have run across so far. Lack of node-waf will cause some npm
installs to fail with a rather cryptic error message.
这篇关于在EC2上:sudo的节点找不到命令,但节点没有sudo是确定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!