linux go installation instructionsに続き、sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
を実行し、/usr/local/go/bin
から$PATH
を追加しました。残念ながら、go
は端末に$GOPATH
をエクスポートしようとする試みを無視するので、私は立ち往生していません。何が起こっているのですか?どうすれば修正できますか?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など)のエクスポートはうまく動作するため、理由はわかりません。地球上で何が起こっているのですか?
[email protected] ~ $ env | grep FOO
[email protected] ~ $ env | grep GOPATH
[email protected] ~ $ export FOO=bar
[email protected] ~ $ env | grep FOO
FOO=bar
[email protected] ~ $ export GOPATH=bar
[email protected] ~ $ env | grep GOPATH
[email protected] ~ $ GOPATH=foo env | grep GOPATH
GOPATH=foo
[email protected] ~ $ env | grep GOPATH
あなたはそこにお読みになりましたか? http://stackoverflow.com/questions/21001387/how-do-i-set-the-gopath-environment-variable-on-ubuntu-what-file-must-i-edit。 '/ home/rsg/Go'ディレクトリが存在し、ユーザ権限を持っていますか? –
@ Jean-FrançoisFabreはいとはい。真の謎は 'export GOPATH = ...'を書くことが実際に変数をエクスポートしない理由です。 – Antimony
奇妙なことに、答えたすべての人はその部分を大丈夫と思った! '$ GOPATH'ですか? (私が言ったことは:多分 'go'はそれを気に入らないディレクトリをフィルタリングします) –