Торговый пакет, который находится в папке поставщика другого проекта
Я пишу библиотечный пакет, который зависит от определенных импортов, но я не уверен, как правильно его обработать.
Позвольте мне начать со структуры каталогов:
go/src/github.com/
├── developer A/
│ ├── project 1
│ └── project 2
│
└── developer B/
└── project 3
└── vendor
└── project 4
Проект 1 - это библиотека. Он используется в проекте 2 и помещается в папку 2s vendor. Следовательно, проект 1 должен содержать все свои зависимости, так что клиентам (например, проекту 2) также не нужно их извлекать. Однако одной зависимостью проекта 1 является проект 4, который содержится в папке поставщика проекта 3s. Крайне важно, чтобы эта зависимость всегда была версией, поставляемой проектом 3. Go не позволяет импортам указывать на пакеты внутри папок поставщика, поэтому я не могу импортировать их напрямую оттуда. Как мне решить это с Говендором?
1 ответ
Go не позволит вам попасть в каталог поставщиков другого проекта. Похоже, ваше намерение состоит в том, чтобы обеспечить версии. Это то, что go modules
поручено делать. Взгляните на вики для получения дополнительной информации.