Как добавить пакет в годепс

У меня уже есть существующий проект в 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, Красиво и просто.

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