小编典典

go install始终尝试使用GOROOT,而go env下未列出GOPATH

go

我在使用时遇到了一个非常令人沮丧的问题GOPATH,尽管已将其设置为,但.profile在调用时不会出现go env,并且似乎也不会影响go install目标位置。

我正在尝试用来go install安装软件包,并且收到此错误,该错误清楚地表明它正在尝试将其安装在/usr/lib/go,而不是的预期目录中/home/me/dev/go

$ go install github.com/songgao/colorgo
go install github.com/songgao/go.pipeline: mkdir /usr/lib/go/pkg/linux_386/github.com: permission denied

go env 给出以下结果。

$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"

但这肯定 确定的。

$ echo $GOPATH
/home/me/dev/go

更新: 我已经导出了GOPATH ~/.profile并获取了它,但是我仍然遇到相同的问题。

$ export GOPATH=/home/me/dev/go
$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"

再次更新: 自从我升级到go1.1beta2以来,此问题已不再存在。我不确定出什么问题了,因为GOPATH似乎设置正确,但现在看来一切正常。


阅读 291

收藏
2020-07-02

共1个答案

小编典典

GOPATH 和工作区

$ mkdir -p $HOME/dev/go/src
$ mkdir -p $HOME/dev/go/bin

$HOME/.profile

export GOPATH=$HOME/dev/go:
export PATH=$PATH:$HOME/dev/go/bin

然后重新启动或注销并登录。

登录后,请先运行:

$ env | grep -i '^GO'
GOPATH=/home/me/dev/go
$ cat $HOME/.profile

你得到什么输出?

2020-07-02