作为 sudo 执行时未找到命令,但在 "sudo su" 后有效
Command not found when executed as sudo, but works after "sudo su"
如果我尝试 运行 此命令 bash 响应未找到错误:
$ npm -v
-bash: npm: command not found
还有 sudo:
$ sudo npm -v
sudo: npm: command not found
但当我 运行 首先 "sudo su":
$ sudo su
# npm -v
6.10.3
为什么会这样?我怎样才能修复它以使用 sudo 命令?
正如 @franzisk 所指出的,这可能是 npm $PATH
的问题。
尝试echo $PATH
同时作为普通用户和超级用户。也 运行 which npm
作为超级用户。如果您发现任何差异(例如,npm 的路径不在普通用户路径中),请相应地更改您的 PATH
变量。
如果我尝试 运行 此命令 bash 响应未找到错误:
$ npm -v
-bash: npm: command not found
还有 sudo:
$ sudo npm -v
sudo: npm: command not found
但当我 运行 首先 "sudo su":
$ sudo su
# npm -v
6.10.3
为什么会这样?我怎样才能修复它以使用 sudo 命令?
正如 @franzisk 所指出的,这可能是 npm $PATH
的问题。
尝试echo $PATH
同时作为普通用户和超级用户。也 运行 which npm
作为超级用户。如果您发现任何差异(例如,npm 的路径不在普通用户路径中),请相应地更改您的 PATH
变量。