我遵循linux go installation instructions并运行sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz,并将/usr/local/go/bin添加到$PATH中。不幸的是,我被困住了,因为go忽略了在终端中导出$GOPATH的任何尝试。怎么回事,我该如何解决?

$ export GOPATH=$HOME/Go
$ echo $GOPATH
/home/rsg/Go
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build834345994=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

编辑:在进一步检查中,似乎由于某种原因,我根本无法导出GOPATH。我不确定为什么,因为导出其他变量(例如FOO)效果很好。到底是怎么回事?
rsg@P ~ $ env | grep FOO
rsg@P ~ $ env | grep GOPATH
rsg@P ~ $ export FOO=bar
rsg@P ~ $ env | grep FOO
FOO=bar
rsg@P ~ $ export GOPATH=bar
rsg@P ~ $ env | grep GOPATH
rsg@P ~ $ GOPATH=foo env | grep GOPATH
GOPATH=foo
rsg@P ~ $ env | grep GOPATH

最佳答案

我仍然不知道问题出在哪里,但是运行unset GOPATH可以解决它。

关于bash - Go会忽略导出的GOPATH,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39311386/

10-13 05:36