Я перехожу на использование модулей Go с Go v1.13.4 и столкнулся со странной проблемой с импортом пакетов из локального частного репозитория.
Структура проекта состоит из двух библиотечных модулей, каждый из которых имеетсвой собственный Git-репозиторий на сервере Gitea нашей компании.
mycompany.com
├── libraryA
├── ├── go.mod
├── ├── various .go files
├── libraryB
├── ├── go.mod
├── ├── various .go files
├── ├── test
├── ├── ├── main.go
├── applicationC
├── ├── go.mod
├── ├── various .go files
Библиотека B использует функции библиотеки A, поэтому импортирует библиотеку A. Приложение C использует как библиотеку A, так и библиотеку B
Я установил GOPRIVATE = mycompany.com и включил помощник по аутентификации, чтобы инструменты Go могли правильно извлекать пакеты с частного сервера Gitea, в то же время вытягивая общедоступные пакеты из GitHub и т. Д.
Симптомы таковы:
- Наберите «go build». и "иди тест". в корне библиотеки A оба работают нормально.
- Введите «go test». в корне библиотеки B отлично работает
- Набрав "go build". в тестовой подпапке библиотеки B работает нормально
- Набрав «go build». в корне приложения C отлично работает
Набрав "go build". в корневой библиотеке B СБОЙ с сообщением об ошибке, в котором говорится, что «не удается найти пакет» в каждой точке, где файлы библиотеки B Go пытаются импортировать библиотеку A через
import »mycompany.com/libraryA
Что странно, так это то, что идентичные операторы импорта в файлах Go, которые являются частью тестового пакета (то есть с суффиксом _test), или в приложении C. работают нормально.
Любые предложения относительно того, что происходитна ??
Спасибо Сэнди