У меня есть projectA, которое импортирует пакеты из projectB.Оба существуют в GOPATH.Я использую dep для управления зависимостями, а projectB добавляется как зависимость в Gopkg.toml проекта A.
Если я очищаю этот projectB из каталога вендора projectA или добавляю его явно в ignored = ["projectB"]
Компилируется нормально.В противном случае я получаю следующие ошибки:
"gitlab.internal.com/client/vendor/gitlab.internal.com/runtime/protocol/client".Connector does not implement "gitlab.internal.com/runtime/protocol/client".Connector (wrong type for ApplicationContext method)
have ApplicationContext() *"gitlab.internal.com/client/vendor/gitlab.internal.com/runtime/core".ApplicationContext
want ApplicationContext() *"gitlab.internal.com/runtime/core".ApplicationContext
Единственное отличие от пакетов 'have' и 'want', приведенных выше, заключается в том, откуда он исходит.(Один из GOPATH, другой из vendor / of projectA, у которого есть эта проблема компиляции)
У меня есть следующие вопросы:
- Почему GOPATH ищется вообще, учитываядоступно у производителя /?(Почему он заявляет, что «хочет» зависимость только от этого места!?)
- Есть ли способ, чтобы dep явно выбрал зависимость от vendor /?
УдалениеprojectB от GOPATH также не решает проблему.В чем здесь проблема?