Ошибка "невозможно загрузить, $ GOPATH не установлен".
Настроить:
Посмотрите на мою конфигурацию:
$ echo $GOPATH && ls -r $GOPATH
/home/cyrus/.go
src pkg bin
$ echo $GOROOT && ls $GOROOT
/usr/local/go
api AUTHORS bin CONTRIBUTORS doc favicon.ico include lib LICENSE misc PATENTS pkg README robots.txt src test VERSION
Вы можете видеть, что я установил путь для $GOPATH
. Кроме того, я создал подкаталоги, которые мне могут не понадобиться.
Вопрос:
Почему следующая команда генерирует это сообщение об ошибке?
$ go get code.google.com/p/go-tour/gotour
package code.google.com/p/go-tour/gotour: cannot download, $GOPATH not set. For more details see: go help gopath
Ответы
Ответ 1
Если вы установите такую переменную:
GOPATH=$HOME/go
Он не будет экспортироваться ни в какие подпроцессы. Он доступен только для этого процесса. Если вы хотите экспортировать его в подпроцессы, используйте export
:
export GOPATH
Вы также можете комбинировать назначение и экспорт:
export GOPATH=$HOME/go
Ответ 2
Каталог My $GOROOT был создан с owner: root
и group: wheel
вместо того, чтобы использовать меня как владельца и администратора как группу. Я догадываюсь, что я использовал sudo, когда мне не было (или какой-то инструмент сделал это для меня). Так как go get
не удалось записать пакеты в $GOROOT и, следовательно, ошибки $GOPATH not set
и permission denied
.
Используя chown
и chgrp
в моем $GOROOT (с -R для получения подпапок), "go get..." работал. В моем случае VS Code теперь смог установить компоненты Go, которые я был после.
Ответ 3
Когда вы запустите go env, вы сможете увидеть, установлен ли ваш GOPATH.
Однако в моем случае эта команда решает его, когда я его запускал на моем терминале.
export GOPATH=/usr/local/bin
Ответ 4
У меня была настройка GOPATH
, и она корректно показала команду go env
. я должен был предоставить правильные разрешения для каталога go с помощью chmod
и установить gb
на go get github.com/constabulary/gb/...
.
Ответ 5
Сначала сделайте `go env 'и проверьте путь GOROOT. Соответственно, установите GOPATH.
В моем случае он должен был установить GOPATH в /usr/lib/go. Раньше я пробовал его с помощью /usr/share/go и/usr/bin/go, но он не работал.
Ответ 6
$ GOPATH должен быть вашим текущим рабочим пространством, папкой, в которой находится ваш проект. или просто cd ~/go и попробуйте выполнить эти команды. Или вы можете просто обновить $ GOPATH в ~/.bashrc или ~/.bashrc_profile в Ubuntu