如何将包添加到godeps

时间:2016-05-11 09:18:38

标签: go godeps

我已经在github中有一个现有项目,并且将deps json文件存储在Godeps文件夹和供应商文件夹中的依赖包中。

现在我需要一种方法将新包添加到列表中,而不会对现有的json文件和供应商包文件夹产生任何影响

1 个答案:

答案 0 :(得分:2)

不要对抗工具。让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使用网络更新命名包及其依赖项。默认情况下,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

它可以更轻松地切换多个回购。

提示:使您的配置默认值对您的团队的“本地开发环境”更为合理。例如。 DB用户名/密码如“dev / dev”等。这样,您就不必使用godep go run main.go传递参数。好又简单。