1 回答
TA贡献2016条经验 获得超9个赞
不要与工具作斗争。让我们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
它使切换多个存储库变得更加容易。
提示:使您的配置默认值适合您的团队的“本地开发环境”。例如数据库用户名/密码,如“dev/dev”等等。这样,您不必使用godep go run main.go. 很好很简单。
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报