Go Modules не распознает файлы под GOPATH - PullRequest
0 голосов
/ 12 апреля 2019

Я пытался настроить модули GO в intellij и пытался импортировать пакет под GOPATH. Когда я использую Go Modules, кажется, что он «не импортирует» пакеты из GOPATH. Любые идеи о том, что я могу делать неправильно?

Ниже приведен скриншот. Слева: GoModules, которые не распознают пакет. Right Pic: простой проект GO, который распознал пакеты.

Я попытался сделать пакет синхронизации, но безуспешно.

Версия Go - 1.12.3

Initellij_GO_MOD.

1 Ответ

3 голосов
/ 12 апреля 2019

Два поддерживаемых режима («режим GOPATH» и «режим с поддержкой модуля») являются взаимоисключающими режимами. Это означает, что вы не можете иметь оба, вы не можете смешивать модули и GOPATH.

Цитирование из Команда go: GOPATH и модули:

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

А также Команда go: Предварительная поддержка модуля:

Для более детального управления поддержка модуля в Go 1.11 учитывает временную переменную среды GO111MODULE, для которой может быть задано одно из трех строковых значений: off, on или auto (по умолчанию). Если GO111MODULE = off, то команда go никогда не использует поддержку нового модуля. Вместо этого он ищет в каталогах поставщиков и GOPATH, чтобы найти зависимости; теперь мы называем это «режим GOPATH». Если GO111MODULE = on, то команда go требует использования модулей, никогда не обращаясь к GOPATH. Мы называем это командой, которая работает с модулем или работает в «режиме с поддержкой модуля». Если GO111MODULE = auto или не задано, то команда go включает или отключает поддержку модуля на основе текущего каталога. Поддержка модуля включается, только если текущий каталог находится вне GOPATH / src и сам содержит файл go.mod или находится под каталогом, содержащим файл go.mod.

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

...