GoLand не обнаруживает пакеты поставщиков в $ GOPATH / pkg / mod? - PullRequest
0 голосов
/ 29 марта 2020

Голанд не обнаруживает импортированные модули с github.com. Модули доступны в каталоге $ GOPATH / pkg / mod, но импорт не разрешается. В каталоге vendor также есть все загруженные пакеты.

Goland Версия: 2019.3.3 Go Версия: Go 1.13.7

Под предпочтениями:

 - GOROOT is set to /usr/local/go
 - Global GOPATH is set to /Users/xyz/go
 - Go module integration is enabled
 - Enable vendoring support is enabled. 
 - dep integration is not enabled. 

Структура проекта:

- project-name
  - bin
  - build
  - cmd
     - serviced
        - main.go
  - internal 
    - config
      - config.go
  - vendor
    - github.com
      - .....
  - go.mod 

- External Libraries
  - GO SDK 1.13.7

Стоит отметить, что Голанд не загружает модули Go в разделе Внешние библиотеки.

1 Ответ

1 голос
/ 29 марта 2020

Загрузить все src библиотек в $GOPATH/pkg/mod

go mod download 

Создать vendor каталог (project-name/vendor) использовать vendor flag

go mod vendor

До версии 1.14

Сборка с vendor flag

go build -mod=vendor

или

GOFLAGS="-mod=vendor" go build

1.14 и выше (Go Модули )

Когда основной модуль содержит каталог поставщика верхнего уровня, а его файл go .mod указывает go 1.14 или выше, команда go теперь по умолчанию -mod = vendor для операций, которые принимают этот флаг. Новое значение для этого флага, -mod = mod, заставляет команду go вместо этого загружать модули из кэша модулей (как при отсутствии каталога поставщика).

Выполнить в project-name каталог (который содержит go.mod)

...