node.js - 在 EC2 : sudo node command not found, 但没有 sudo 的 Node 可以

标签 node.js bash amazon-ec2 sudo

我刚刚在一个新的 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/

相关文章:

javascript - 从本地计算机上的 Ubuntu (AWS EC2) 读取文件?

javascript - gulp,任务单独工作,但不能分组工作

c++ - 在C++中捕获shell脚本退出状态

linux - "Permission denied"从非特权子进程中的进程替换 FIFO 读取

linux - 尝试运行从另一台计算机复制的程序时权限被拒绝

WordPress 需要 FTP 凭据来更新插件

amazon-ec2 - 如何在 Amazon CloudWatch 的 AWS/EC2 命名空间中发布实例指标?

javascript - Brain.js NaN 训练结果

javascript - 如何在 mongoose 中使用具有用户 id 的帖子填充用户?

node.js - 当我尝试从 Kubernetes 内部连接到 Redis 时,总是连接失败