Unix Sudo路径-未找到Node.js

Unix Sudo路径-未找到Node.js,unix,ubuntu,node.js,path,Unix,Ubuntu,Node.js,Path,我需要在我的Ubuntu机器上用sudo访问运行node。节点的目录在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

我需要在我的Ubuntu机器上用sudo访问运行node。节点的目录在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
>

嗯,我不认为有“sudo路径”这样的东西——你的第二个命令只是重复“sudo”,然后是你的常规路径。在任何情况下,如果您使用
sudo
运行程序,您确实应该不依赖于路径-您应该尽可能为每个命令和文件参数指定显式路径名,以将安全风险降至最低。如果
sudo
不想运行某些东西,则需要使用
visudo
将其添加到
/etc/sudoers

您的最后一个命令是在/root/local/node中执行名为“bin”的程序。如果这样做有效,那么您的第一个
就是其中的
。@Wooble实际上显式调用应该转到/root/local/node/bin/node,到目前为止,我可以从不同版本的节点安装中猜到。贝克的最后一个命令不完整。路径是手动添加的,并且在其末端缺少/节点/从源代码构建时,node/bin始终是目录。被否决的人是否愿意告诉我哪里出错了?