在 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 -> make -> sudo make install.
I installed it normally, ./configure -> make -> sudo make install.
问题: 当我在 ec2-user 下运行node"时,它运行完美.当我运行sudo node"时,它失败了.
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 身份登录时节点"运行 - 但当我以 ec2-user 身份登录并运行时它仍然无法工作须藤节点".
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.关于如何在运行sudo node"时包含节点路径的任何想法?
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
可能还有更多,但这就是我目前遇到的所有内容.缺少 node-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屋!