2015-06-27 3 views
0

импорта У меня есть некоторые локальные пакеты, определенные в моем приложении, к примеру, у меня есть модель Crud, расположенная на модели/падла/crud.goнепризнанный путь на OpenShift

В моем приложении я призываю их с помощью import("model/crud"), для всех моих локальных зависимостей.

Это решает прекрасно в контексте моего приложения на моей локальной машине, но когда я пытаюсь нажать на OpenShift я получаю следующее сообщение об ошибке:

imports model/crud: unrecognized import path "model/crud"

Похоже, когда OpenShift запускает сборку инструмент, он пытается запустить go get на этих импортах, чтобы включить их в путь сборки при компиляции.

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

ответ

2

Вы должны использовать полный путь импорта. Например, "github.com/user/project/model/crud"

+0

Это не на github (по крайней мере, не публично), это созданные мной пакеты, которые являются локальными для моей папки src /. Так что go github.com/user/project не решит. Тем не менее, управление зависимостями одного приложения в двух отдельных репозиториях не имеет смысла для этого небольшого приложения. – DWils

+0

Даже если они не находятся на github, вы должны импортировать их из полного пути src. Гитуб был всего лишь примером. – gregf

+1

А, я попробовал путь src, но похоже, что openshift копирует файлы таким образом, основываясь на пути go, который немедленно нарушает эти соглашения. – DWils

2

Чтобы найти путь импорта, который вы должны использовать, возьмите «$ GOPATH/src /[...]/ model/crud» и просто удалите часть «$ GOPATH/src /».

+0

HectorJ do i find [..] part ?? –

Смежные вопросы