我刚刚在一个新的 EC2 微型实例上安装了 nodejs。
我安装正常,./configure -> make -> sudo make install。
问题:当我在 ec2-user 下运行“node”时,它运行良好。当我运行“sudo node”时,它失败了。
我发现 Node 在:
[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
然后我尝试编辑根路径以包含 Node 的路径,因此当我以 root 身份登录时“Node ”运行 - 但当我以 ec2-user 身份登录并运行时它仍然无法工作“须藤 Node ”。
我需要这个来正确安装 npm。关于在运行“sudo node”时如何包含 Node 路径的任何想法?
最佳答案
是的,这有点烦人,但您可以通过一些链接修复它:
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
安装失败并显示相当神秘的错误消息。
关于node.js - 在 EC2 : sudo node command not found, 但没有 sudo 的 Node 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976658/