所以现在 Go 到底应该用什么包管理器?

2019-03-18 16:27:10 +08:00
 liuzhaowei55

手头项目有有 Go 写的,但自己有段时间没有关注 Go 了,之前官方有钦定一个包管理器,现在主流的是哪个?

9401 次点击
所在节点    Go 编程语言
77 条回复
zqx
2019-03-19 07:39:43 +08:00
有没有人普及一下和 python 的 pip,node 的 npm 的比较
duanquanyong
2019-03-19 07:44:39 +08:00
go mod 很好用,而且下个版本支持中央仓库了
wweir
2019-03-19 08:31:26 +08:00
go mod + 自己写的透明代理方案( sower )
blless
2019-03-19 08:31:44 +08:00
@zqx 固化依赖到项目中在我们的开发规范是很重要的一个环节,可以有效节省其他组员管理 更新 下载的时间成本。也可以规避掉一些因为版本代码不一致的隐藏 bug。
pip 我没做过固化的方案,只写过 requirements.txt 。对于不需要编译的包还好,需要编译的时候就一言难尽。
npm 固化依赖大家都知道啥叫依赖地狱了,200M 起步…不敢想象大型项目得吃多少。

其他包管理大同小异,跟 go 最大不同就是有中央仓库,版本标记比较清晰。go mod 虽然现在版本也有了,但是一些旧的包没有遵循 go mod 规范。
npm 最大区别是每个依赖都有自己的独立依赖,不知道现在有没有改进,其他包管理就不熟悉了。
Marmot
2019-03-19 09:12:52 +08:00
go mod 1.11+官方自带
bruinxs
2019-03-19 09:21:17 +08:00
gx
jlkm2010
2019-03-19 09:57:41 +08:00
go mod
index90
2019-03-19 09:59:05 +08:00
一直觉得 G 家那种,所有依赖用最新的思路,才是正路。只是我们凡人无法理解……
zzn
2019-03-19 10:03:44 +08:00
@index90 因为不是每个公司都有人有能力去跟踪维护依赖库。。。
cloverstd
2019-03-19 10:03:48 +08:00
go mod + vscode 自动补全好卡( slow )
peyppicp
2019-03-19 10:22:31 +08:00
我司用 govendor
vendor 也一起提交到 git
index90
2019-03-19 10:29:20 +08:00
@zzn 我觉得关键点是,Go 家能做到 真·主干开发
Gea
2019-03-19 10:48:37 +08:00
@janxin 你好,请问这个 lsp 是怎么用的,还有我用了 go mod 在 mac 的 vscode 上跳转十分慢,有什么办法吗?
runze
2019-03-19 10:49:22 +08:00
@reus #9 其他语言的包管理工具也支持 git,比如 npm。

但是大多数人依然使用基于 中心仓库 /版本 的包管理。
karllynn
2019-03-19 10:59:45 +08:00
1.12 已经集成了。。
janxin
2019-03-19 11:08:49 +08:00
keysona
2019-03-19 11:09:59 +08:00
go mod + goproxy

真爽。谁用谁知道....
h2ero
2019-03-19 12:54:51 +08:00
go mod
burtbai
2019-03-19 13:48:26 +08:00
https://github.com/gogradle/gogradle 我对这个很感兴趣,虽然主要是个构建工具
strahe
2019-03-19 14:00:36 +08:00
go mod + goproxy

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

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

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

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

© 2021 V2EX