![以 root 或 sudo 身份运行时未找到安装在 /opt 文件夹下的软件](https://linux22.com/image/909215/%E4%BB%A5%20root%20%E6%88%96%20sudo%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%E6%97%B6%E6%9C%AA%E6%89%BE%E5%88%B0%E5%AE%89%E8%A3%85%E5%9C%A8%20%2Fopt%20%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E7%9A%84%E8%BD%AF%E4%BB%B6.png)
我通过编译将一些软件安装在 /opt 文件夹下。我已将它们的“bin”目录添加到“/etc/environment”内的路径中。我也可以以普通用户身份使用它们。例如:NodeJS 10.15.1 已安装在 /opt 中并给出
node -v
输出v10.15.1
。
同样,如果我用 sudo 运行同样的事情,
sudo node -v
我得到了sudo: node: command not found
。如果我成为 rootsudo -s
然后执行node -v
,我得到了
Command 'node' not found, but can be installed with:
apt install nodejs
我想使用“sudo”的原因是,我已经安装了“角度“使用“npm”。并且在某些时候,ng serve
不会自动反映新的代码更改(这是“ng serve”命令的默认行为)。
因此正如本文所指出的邮政,我想用“sudo”运行这个命令。
为什么将可执行文件添加到“PATH”后,sudo 仍找不到它?