ГОПАТ смотрит в другой путь - PullRequest
0 голосов
/ 05 ноября 2018

Я установил GOPATH и GOROOT в ~ / .bashrc как:

export GOROOT=/usr/lib/go-1.10

export GOPATH=/home/user/go/pkg

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

и всякий раз, когда я пытаюсь собрать с помощью go build main.go, я получаю.

main.go: 4: 2: не удается найти пакет "google.golang.org/grpc/examples/grpcdemo/pb" ни в одном из: /usr/lib/go-1.10/src/google.golang.org/grpc/examples/grpcdemo/pb (из $ GOROOT) /home/user/go/src/google.golang.org/grpc/examples/grpcdemo/pb (из $ GOPATH)

Вопрос в том, почему заглядывает внутрь home/user/go/src, поскольку я установил GOPATH на /home/user/go/pkg. Итак, я ожидал посылку внутри /home/user/go/pkg/src/google.golang.org/grpc/examples/grpcdemo/pb. Разве это не должно смотреть внутрь /home/user/go/pkg?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Запустите $ go env и проверьте, содержит ли вывод следующие данные:

  1. GOPATH="/home/user/go"
  2. GOROOT="/usr/local/go"

Если нет, то используйте как ниже в вашем ~/.bashrc файле

export GOPATH=$HOME/go
# No need to set GOROOT since it is set /usr/local/go by default
export PATH=$GOPATH/bin:/usr/local/go/bin:$PATH

Теперь запустите $ source ~/.bashrc в bash. Вот и все.

0 голосов
/ 05 ноября 2018

Вероятно, должен иметь

export GOPATH=/home/user/go

export PATH=$GOPATH/bin:$PATH
  • вообще не используйте GOROOT (просто unset GOROOT, чтобы быть в безопасности)
  • pkg ниже GOPATH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...