Использование glide с подкаталогами

#go #directory #vendor #glide-golang

#Вперед #каталог #поставщик #glide-golang

Вопрос:

У меня есть следующая структура для моего проекта

MyCode

== main.go

== пользователь

==== user.go

Я хотел бы создать свой код с помощью ‘go build’, поэтому в main.go у меня есть

 import "user"
  

чтобы я мог получить доступ к коду в пакете в этом каталоге. Для правильной сборки мне понадобится мой пользовательский каталог внутри моего каталога поставщика. Однако, когда я выполняю «установку glide», пользовательский каталог удаляется. Я не хочу каждый раз вручную перемещать свой пользовательский каталог в каталог поставщика.

Цель состоит в том, чтобы git-клонировать мой проект, выполнить установку glide, затем сборку go и заставить его работать. Есть ли способ заставить glide переместить мой пользовательский каталог в каталог поставщика без необходимости делать это вручную?

Комментарии:

1. Есть причина, по которой вы не хотите использовать полный путь к вашему пользовательскому pkg? Ваша жизнь станет намного проще, если вы будете разрабатывать свои программы Go, как и все остальные.

2. Полный путь к пакету был бы, в моем случае ‘import «./user»‘ . Это не удастся выполнить из-за соответствия локальному импорту. Я мог бы включить имя папки, например ‘import «MyCode / user»‘, но если я изменю имя папки, код не будет компилироваться, и мне нужно, чтобы все ссылки на MyCode были изменены на новое имя папки

3. Почему имя папки должно измениться? Весь код в MyCode, он же ваше приложение, должен быть кодом, написанным для MyCode, и импортироваться с префиксом пути «MyCode /». Если у вас есть код, который вы планируете повторно использовать в других проектах, этот код должен находиться по другому пути / репозиторию, и MyCode должен / мог бы указать этот код как зависимость.

4. Для меня обычно git клонирует проект более одного раза в одном каталоге, так что я выполняю разную работу в разных папках. У вас не может быть двух папок с одинаковым именем, поэтому одна из них переименована, но если я это сделаю, код больше не будет создаваться. Я могу попытаться избежать переименования папки и изменения моих инструкций импорта, чтобы увидеть, насколько это болезненно.