话说你们 Go 项目的依赖管理是怎么做的?

2018 年 5 月 4 日
 mss0

开始用的 dep,后来发现同一个库使用 dep ensure -add 安装和使用 go get -u 安装文件的内容会不一样。

使用 go get 直接把包安到了$GOPATH/src 目录下,那多人协作开发的时候怎么去保证依赖库的版本一致呢?

8212 次点击
所在节点    程序员
22 条回复
xrlin
2018 年 5 月 4 日
现在 1.10 版本以上有 vgo
NoMustard
2018 年 5 月 4 日
dep ensure 啊 不是有 Gopkg.toml 来保证依赖一致么
Tinet
2018 年 5 月 4 日
用的 govendor
janxin
2018 年 5 月 4 日
dep ensure 如果是有 semver 的库会使用 semver 版本,go get 使用的是 master 分支。

你可以通过调整 Gopkg.toml 指向 master 分支
prolic
2018 年 5 月 4 日
我觉得 github 包不能精确到最后一次 commit 的话怎么做都没法严格保证一致吧,还是塞到 vendor 传 git 上比较靠谱
twogoods
2018 年 5 月 4 日
go 官方是时候搞个统一的依赖管理了啊
hyuwang
2018 年 5 月 4 日
vgo 不错 不过我来推荐个小众的 gb + gb vendor
跟反人类的 GOPATH 说再见
helloworld12
2018 年 5 月 4 日
git,把整个 gopath 放在 git 里面了
darylc
2018 年 5 月 4 日
godep
kkk330
2018 年 5 月 4 日
glide
iappled
2018 年 5 月 4 日
@hyuwang gopath 太难用,gb 不错
puperSB
2018 年 5 月 4 日
govendor 或者 dep
xio
2018 年 5 月 4 日
vendor 入库
mritd
2018 年 5 月 4 日
@Tinet 哇,我经常听你头像小姐姐的歌😉
mritd
2018 年 5 月 4 日
glide
nino
2018 年 5 月 4 日
vgo 只支持 GitHub 啊
zacharychangzc
2018 年 5 月 4 日
dep+vendor 上传 git
Muninn
2018 年 5 月 5 日
以前用 glide 现在就是 dep 啊

只是你不会用 dep 而已。。。
devtiange
2018 年 5 月 5 日
可惜 gb 已经常年不更新了. GOPATH 确实是 go 里最最傻逼的东西.
robertzhouxh
2018 年 5 月 5 日
govendor 妥妥的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/452142

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX