Куда пойти импорт при использовании модулей без установленной GOPATH? - PullRequest
0 голосов
/ 11 октября 2018

Я занимаюсь преобразованием проекта на работе в модуль.Насколько я понимаю, это должно значительно облегчить развертывание, поскольку $ GOPATH не нужно будет настраивать должным образом.

В моем существующем проекте я запустил go mod init <project path> и зарегистрировался в go.mod и go.sum.В качестве теста я открыл новый терминал unset GOPATH, клонировал свой проект в / tmp, go build, и все работало отлично, но у меня остались вопросы.Я ожидал, что мой импорт будет загружен в папку вендора, но ничего.

Куда идут модули, помещающие необходимые ему пакеты в go get, когда не задан $ GOPATH?

1 Ответ

0 голосов
/ 12 октября 2018

Из справки модулей :

При использовании модулей GOPATH больше не используется для разрешения импорта.Однако он все еще используется для хранения загруженного исходного кода (в GOPATH / pkg / mod) и скомпилированных команд (в GOPATH / bin).

Так что в вашем случае, если GOPATH не установлен, он будет использоватьGOPATH по умолчанию ($HOME/go/) и, таким образом, сохраняет кэшированный импорт в: $HOME/go/pkg/mod

...