Торговый пакет, который находится в папке поставщика другого проекта

Я пишу библиотечный пакет, который зависит от определенных импортов, но я не уверен, как правильно его обработать.

Позвольте мне начать со структуры каталогов:

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 поручено делать. Взгляните на вики для получения дополнительной информации.

Другие вопросы по тегам