Go忽略了导出的GOPATH。

huangapple go评论82阅读模式
英文:

Go ignores exported GOPATH

问题

我按照Linux的Go安装说明进行操作,运行了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
英文:

I followed the linux go installation instructions and ran sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz and added /usr/local/go/binto $PATH. Unfortunately, I am stuck because go ignores any attempt to export $GOPATH in the terminal. What's going on and how can I fix it?

$ 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"

Edit: On further inspection, it seems that for some reason, I am unable to export GOPATH at all. I am not sure why, because exporting other variables (e.g. FOO) works just fine. What on earth is going on?

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

答案1

得分: 0

我仍然不知道问题是什么,但运行unset GOPATH解决了它。

英文:

I still have no idea what the problem was, but running unset GOPATH fixed it.

huangapple
  • 本文由 发表于 2016年9月4日 05:13:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/39311386.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定