Я следовал за 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' фильтрует каталоги, которые не нравятся) –