zichen
V2EX  ›  Go 编程语言

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

By zichen at 2018 年 7 月 19 日 · 6639 次点击

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

21 条回复  •  2018-07-20 17:33:32 +08:00
fuxiaohei
   1
fuxiaohei  
   2018 年 7 月 19 日
自己写脚本,shell 或者 makefile 都可以
reus
   2
reus  
   2018 年 7 月 19 日
go 命令就是构建工具。要生成什么就用 go generate。主流就是这个。
spice630
   3
spice630  
   2018 年 7 月 19 日
go build 是主流,大型项目上 makefile gradle 都可以,看自己熟悉哪个,go 新手自己写项目一般还用不到这些。
spice630
   4
spice630  
   2018 年 7 月 19 日
看代码的话,按照文档来构建就可以了,几个命令的事。
jianpanxia
   5
jianpanxia  
   2018 年 7 月 19 日
Makefile 挺好。。
Erskine
   6
Erskine  
   2018 年 7 月 19 日
一直用 go build,我也想用 makefile,but 那玩意看不懂啊
chuhemiao
   7
chuhemiao  
   2018 年 7 月 19 日
go build+1
znood
   8
znood  
   2018 年 7 月 19 日 via iPhone
自己写 build.sh 脚本
dishonest
   9
dishonest  
   2018 年 7 月 19 日
我用 ant
LuoyeBug
   10
LuoyeBug  
   2018 年 7 月 19 日
build +1
zichen
   11
zichen  
OP
   2018 年 7 月 19 日
@dishonest 我去,哥们这个感觉你不走寻常路啊,现在 java 用 ant 构建的都不多了吧?
janxin
   12
janxin  
   2018 年 7 月 19 日
你可以选择 Gradle
dishonest
   13
dishonest  
   2018 年 7 月 19 日
@zichen ant 很简单,反正又用不上 java 里面的 dependencies,而且一个 PATH 下的 ant 就搞定了。
以前用 makefile,发现不能跨平台不好使,windows 下和 linux/mac 有区别。
eslizn
   14
eslizn  
   2018 年 7 月 19 日
go 的 makefile 也是调用 go build 啊。。。go 跨平台是真的方便
pathbox
   15
pathbox  
   2018 年 7 月 19 日 via iPhone
makefile 完事,golang 交叉编译也很简单
OvLOrz
   16
OvLOrz  
   2018 年 7 月 19 日
makefile 是 Linux 下面通用的构建方案吧
mritd
   17
mritd  
   2018 年 7 月 19 日 via iPhone
用 go build 的推荐个工具 叫 gox(手机地铁上不方便发地址),github 发布推荐 ghr
orderc
   18
orderc  
   2018 年 7 月 19 日
主流是 makefile,把 go build , go run 等封装到 makefile,调用方便
也可以用谷歌的 bazel
Comdex
   19
Comdex  
   2018 年 7 月 19 日
go module 是未来
zichen
   20
zichen  
OP
   2018 年 7 月 20 日
@Comdex 搜了搜,这个靠谱,就是落地估计得有一段时间。
stirlingx
   21
stirlingx  
   2018 年 7 月 20 日
go build
dockerfile
docker-compose
The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
© 2026 V2EX · 57ms · 3.9.8.5