现在 go 项目的主流构建方式是哪种?

2018-07-19 10:44:43 +08:00
zichen  zichen

最近工作不是很忙想学学 go 和区块链,于是下了 geth 项目,发现构建方式是用的 makefile,于是上网搜了搜发现 go 好像没有官方的构建工具,看了看 k8s 等项目基本都是用的 makefile,也有 grafana 这样直接用 go 自己写构建脚本的,我看还有项目是用 gradle 做构建的,所以想问一下,现在 go 项目主流的构建工具到底是哪个?

5450 次点击
所在节点   Go 编程语言  Go 编程语言
21 条回复
fuxiaohei
fuxiaohei
2018-07-19 10:47:26 +08:00
自己写脚本,shell 或者 makefile 都可以
reus
reus
2018-07-19 10:50:07 +08:00
go 命令就是构建工具。要生成什么就用 go generate。主流就是这个。
spice630
spice630
2018-07-19 10:53:06 +08:00
go build 是主流,大型项目上 makefile gradle 都可以,看自己熟悉哪个,go 新手自己写项目一般还用不到这些。
spice630
spice630
2018-07-19 10:53:47 +08:00
看代码的话,按照文档来构建就可以了,几个命令的事。
jianpanxia
jianpanxia
2018-07-19 11:50:21 +08:00
Makefile 挺好。。
iRiven
iRiven
2018-07-19 12:16:15 +08:00
一直用 go build,我也想用 makefile,but 那玩意看不懂啊
chuhemiao
chuhemiao
2018-07-19 12:19:04 +08:00
go build+1
znood
znood
2018-07-19 12:19:22 +08:00
自己写 build.sh 脚本
dishonest
dishonest
2018-07-19 13:49:32 +08:00
我用 ant
webluoye
webluoye
2018-07-19 14:38:15 +08:00
build +1
zichen
zichen
2018-07-19 14:46:09 +08:00
@dishonest 我去,哥们这个感觉你不走寻常路啊,现在 java 用 ant 构建的都不多了吧?
janxin
janxin
2018-07-19 15:36:50 +08:00
你可以选择 Gradle
dishonest
dishonest
2018-07-19 16:17:42 +08:00
@zichen ant 很简单,反正又用不上 java 里面的 dependencies,而且一个 PATH 下的 ant 就搞定了。
以前用 makefile,发现不能跨平台不好使,windows 下和 linux/mac 有区别。
eslizn
eslizn
2018-07-19 16:20:45 +08:00
go 的 makefile 也是调用 go build 啊。。。go 跨平台是真的方便
pathbox
pathbox
2018-07-19 17:29:17 +08:00
makefile 完事,golang 交叉编译也很简单
OvLOrz
OvLOrz
2018-07-19 17:49:22 +08:00
makefile 是 Linux 下面通用的构建方案吧
mritd
mritd
2018-07-19 20:07:16 +08:00
用 go build 的推荐个工具 叫 gox(手机地铁上不方便发地址),github 发布推荐 ghr
orderc
orderc
2018-07-19 20:45:03 +08:00
主流是 makefile,把 go build , go run 等封装到 makefile,调用方便
也可以用谷歌的 bazel
Comdex
Comdex
2018-07-19 22:24:51 +08:00
go module 是未来
zichen
zichen
2018-07-20 11:52:21 +08:00
@Comdex 搜了搜,这个靠谱,就是落地估计得有一段时间。

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

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

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

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

© 2021 V2EX