我已经在github中有一个现有项目,并将deps json文件存储在Godeps文件夹中,依赖程序包存储在供应商文件夹中。
现在,我需要一种将新包添加到列表中而不影响现有json文件和供应商包文件夹的方法。
发布于 2016-05-11 15:30:17
别反抗工具。让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这使得切换多个repos变得更加容易。
提示:让您的配置默认为您的“本地开发环境”为您的团队。例如DB用户名/密码,比如"dev/dev“等等。这样,您就不必通过godep go run main.go传递参数。又好又简单。
https://stackoverflow.com/questions/37158170
复制相似问题