标题就是问题——这里有一个关于我是如何到达这里的简短解释,我想这可能有助于侦查。
我安装了go,一切都很好。我在 Ubuntu 上运行
build essential golang
命令,突然我的 go 版本与我的 /usr/local/go/src/VERSION
文件不同步。
我删除了
/usr/local/go/
中的go文件,以及/usr/bin/
中的go和go-1.8文件夹。然后我重新安装了 go /usr/local/go
现在,当我以用户身份运行
go env
时,输出看起来是正确的。然而(标题),当我sudo
时,没有识别任何go命令,并且我收到以下消息:程序“go”可以在以下包中找到:
* 戈兰戈
* gccgo-go
作为用户,我的一些 go env 输出是:
GOPATH="/home/{me}/go"
GOROOT="/usr/local/go"
作为用户,我的
echo $PATH
是:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/home/{me}/go/bin
我的
~/.profile
包括:
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
请帮忙? :)
您应该在另一个社区询问,例如:unix & linux
但是,问题是,当您以 root 身份登录时,PATH 变量将按照 root 用户的配置进行设置。你必须配置 root 用户的 PATH 环境变量,或者运行 su/sudo 如下:
su --preserve-environment -
sudo --preserve-env bash
我刚刚遇到了同样的问题,我所要做的就是再次转到我的根目录和 ~/.profile 上的导出路径并使用 刷新它。 ~/.profile 并且它起作用了。希望这有用。谢谢。