Как добавить пакет в годепс
У меня уже есть существующий проект в github, и jps-файл deps хранится в папке Godeps, а пакеты зависимостей - в папке vendor.
Теперь мне нужен способ добавить новый пакет в список, ничего не влияя на существующий файл json и папку пакета поставщика.
1 ответ
Не боритесь с инструментами. Позволять godep
Обновите файл JSON и папку поставщика, независимо от того, насколько сильно он мешает Godeps/godeps.json
файл.
godep restore // put everything in a known state
go get -u foo/bar // get new package
go test ./... // make sure everything is up to snuff
go run main.go // run your code
godep save ./... // update `godeps.json` to current state of packages
Если вы используете go get -u foo/bar
для вашего нового пакета, это влияет только на ваш новый пакет foo/bar
- он не обновляет ваши существующие пакеты.
Флаг -u указывает, как использовать сеть для обновления именованных пакетов и их зависимостей. По умолчанию get использует сеть для проверки отсутствующих пакетов, но не использует ее для поиска обновлений существующих пакетов. https://golang.org/cmd/go/
Как примечание, я рекомендую привыкнуть использовать godep
приставки чтоб не мешать твоим $GOPATH
:
go get -u foo/bar // get new package
godep go test ./... // test your package, using your /vendor deps
godep go run main.go // run your code, using your /vendor deps
godep save ./... // update godeps if everything checks out
Это делает переключение нескольких репо намного проще.
Совет: сделайте настройки по умолчанию подходящими для вашей "локальной среды разработки" для вашей команды. Например, имя пользователя / пароль БД, например, "dev/dev" и так далее. Таким образом, вам не нужно передавать параметры с godep go run main.go
, Красиво и просто.