我刚刚在一个新的 EC2 微型实例上安装了 nodejs。
我正常安装了,./configure -> make -> sudo make install。
问题:当我在 ec2-user 下运行“node”时,它运行良好。当我运行“sudo 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
然后我尝试编辑根路径以包含节点的路径,因此当我以 root 身份登录时“节点”运行 - 但当我以 ec2-user 身份登录并运行“sudo node”时它仍然无法工作.
我需要这个来正确安装 npm。关于在运行“sudo 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安装失败并显示相当神秘的错误消息。
npm