Как убедиться, что go build использует все зависимости из каталога поставщика

Я использовал godep и разместил все свои зависимости в каталоге vendor /. Go build тоже работает нормально. Однако как я могу быть уверен, что все мои зависимости продаются?

Есть ли какая-нибудь команда, которая может в этом убедиться?


person Mayank Patel    schedule 21.03.2017    source источник
comment
Переключитесь на новый, чистый, пустой GOPATH, git clone и build. Мертвая простота.   -  person Volker    schedule 21.03.2017
comment
Ага. Это один способ. Я просто спрашиваю, есть ли способ избежать этого, например, передать флаг в команде go build.   -  person Mayank Patel    schedule 21.03.2017


Ответы (2)


Моя служба CI (я использую Travis) позволяет мне знать. Потому что моя тестовая сборка не удастся, если deps недоступны.

В любом случае вам следует использовать службу CI, и тогда вы получите это преимущество бесплатно.

person Flimzy    schedule 21.03.2017
comment
Я работаю над небольшим проектом, который развертывается на heroku с автоматическим развертыванием, включенным с помощью github. - person Mayank Patel; 21.03.2017

Я использую govendor для управления зависимостями, у которого есть опция status. Вот некоторые из команд с губернатором:

init     Create the "vendor" folder and the "vendor.json" file.
list     List and filter existing dependencies and packages.
add      Add packages from $GOPATH.
update   Update packages from $GOPATH.
remove   Remove packages from the vendor folder.
status   Lists any packages missing, out-of-date, or modified locally.
fetch    Add new or update vendor folder packages from remote repository.
sync     Pull packages into vendor folder from remote repository with revisions
             from vendor.json file.
migrate  Move packages from a legacy tool to the vendor folder with metadata.

В частности, вы должны сделать govendor status, чтобы проверить, отсутствуют ли пакеты.

Если вы решите использовать govendor, вы можете начать со следующих действий:

  • go get github.com/kardianos/govendor
  • govendor migrate (который перейдет из Godeps в Govendor)

Кроме того, в комментарии вы упомянули, что выполняете развертывание в Heroky, вот вам их документация на губернаторе

person alexbt    schedule 27.03.2017