Golang и линейка продуктов JetBrains, куда входят Goland и Pycharm, ориентированны на работу с внешними сервисами, такими как github. GitHub работает по https протоколу, для менеджера пакетов golang необходима система контроля версий, поддерживающая https протокол, иначе он не захочет качать пакеты.
Во множестве организаций использутся внутренние репозитории кода. У нас код хостится на внутреннем сервере Gitlab. При этом https не используется, используется http. При импорте модулей в пакет при разработке на golang возникает проблема:
При попытке импорта, Goland пишет:
1 2 3 |
go: finding module for package gitlab.bazalt.team/dev/veil-api-client-go/veil terraform-provider-veil imports gitlab.bazalt.team/dev/veil-api-client-go/veil: cannot find module providing package gitlab.bazalt.team/dev/veil-api-client-go/veil: unrecognized import path "gitlab.bazalt.team/dev/veil-api-client-go/veil": https fetch: Get "https://gitlab.bazalt.team/dev/veil-api-client-go/veil?go-get=1": dial tcp 192.168.14.215:443: connect: connection refused |
Что делал что бы побороть ошибку:
* запилил самоподписанные сертфикаты для Gitlab, не помогло:
1 2 3 |
go: finding module for package gitlab.bazalt.team/dev/veil-api-client-go/veil terraform-provider-veil/veil imports gitlab.bazalt.team/dev/veil-api-client-go/veil: cannot find module providing package gitlab.bazalt.team/dev/veil-api-client-go/veil: unrecognized import path "gitlab.bazalt.team/dev/veil-api-client-go/veil": https fetch: Get "https://gitlab.bazalt.team/dev/veil-api-client-go/veil?go-get=1": x509: certificate signed by unknown authority |
* экспериментировал с git на локальном хосте как здесь, не помогло:
* поспал, начал читать разное про модули, в итоге набрел на «Go Modules Reference», помогло:
В настройках проекта Goland устанавливаем переменные с исключениями из внутренних серверов и удаляем старые версии модулей в консоли:
1 |
go clean -modcache |
Может потребоваться перезапуск Goland. Модули нормально импортировались: