环境变量配置:
# ~/.bash_profile
export GOROOT=/usr/local/go
export GOPATH=/usr/local/GO
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
错误描述:
使用非root用户,执行 go version 获得正确输出。
使用root用户,执行 go verison 获得正确输出。
使用非root用户,执行 sudo go version 获得输出 sudo: go: command not found。
解决办法:
根据 Some programs not found when used with sudo 中的回答。
我们使用 sudo 时,使用的配置文件是 /etc/sudoers。
配置 /etc/sudoers 文件中的 Defaults secure_path 这一项。将 $GOROOT/bin 目录加入进去。(请使用绝对目录,如:/usr/local/go/bin/)
Defaults secure_path 这一行:
Defaults secure_path = /usr/local/go/bin/:/sbin:/bin:/usr/sbin:/usr/bin