【问题标题】:Sudo Path - not finding Node.js须藤路径 - 没有找到 Node.js
【发布时间】: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 始终是目录。

标签: unix ubuntu node.js path


【解决方案1】:

嗯,我认为没有“sudo 路径”之类的东西 - 你的第二个命令只是回显“sudo”,然后是你的常规路径。在任何情况下,如果您使用sudo 运行东西,那么您真的,真的应该 依赖路径 - 您应该尽可能为每个命令和文件参数提供显式路径名,以最大限度地降低安全性风险。如果sudo 不想运行某些东西,则需要使用visudo 将其添加到/etc/sudoers

【讨论】:

  • 投反对票的人是否愿意告诉我我做错了什么?
猜你喜欢
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 2016-10-13
  • 2014-09-14
  • 1970-01-01
  • 2021-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多