【发布时间】:2011-11-05 02:18:41
【问题描述】:
我需要通过 sudo 访问在我的 Ubuntu 机器上运行节点。节点的目录在 sudo 路径中,但是当尝试运行它时,我得到一个找不到命令。我可以显式调用节点,它确实有效。
//works
node
>
which node
/root/local/node/bin/node
echo sudo $PATH
sudo /root/local/node/bin:/usr/bin/node:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
sudo node --version
sudo: node: command not found
//explicitly calling it works
sudo node /root/local/node/bin
>
【问题讨论】:
-
您的最后一个命令是在 /root/local/node 中执行一个名为“bin”的程序。如果这有效,那么您的第一个
which就是在撒谎。 -
@Wooble 实际上显式调用应该转到 /root/local/node/bin/node 到目前为止,我可以从不同版本的节点安装中猜测。 beck 的最后一个命令不完整。 PATH 是手动添加的,它最后错过了 /node 。从源代码构建时,/node/bin 始终是目录。