【发布时间】:2019-05-30 06:34:54
【问题描述】:
我在/home/me/go/bin 的GOPATH 中安装了一个二进制dep 以供使用。
运行dep 成功执行二进制文件,但运行sudo dep 导致sudo: dep: command not found:
$ dep
Dep is a tool for managing dependencies for Go projects
Usage: "dep [command]"
...
Use "dep help [command]" for more information about a command.
$ sudo dep
sudo: dep: command not found
路径不是这里的问题:
$ echo $PATH
/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/home/me/.local/bin:/home/me/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin
$ sudo echo $PATH
/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/home/me/.local/bin:/home/me/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin
路径与me 和superuser 相同,都引用密钥目录/home/me/go/bin。
为什么在没有sudo 的情况下运行dep 会成功但使用sudo 会导致command not found?
【问题讨论】:
-
$PATH在sudo运行之前扩展;试试sudo sh -c 'echo "$PATH"'。