sudo的命令路径

July 15, 2026 · Misc

问题:

用linux的sudo命令跑程序的时候,有时候会发现这类错误,比如运行sudo go

$ sudo go
[sudo] password for ryan:
sudo: go: command not found

原因:

我们使用 sudo 时,使用的配置文件是 /etc/sudoers,默认路径是这些:

...
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
...

解决方法:

直接编辑(sudo vim)文件/etc/sudoers,把你需要的路径加进去,比如刚才缺少go的路径,加上如下即可

Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin"