V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
zichen
V2EX  ›  Go 编程语言

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

  •  
  •   zichen · 2018-07-19 10:44:43 +08:00 · 5371 次点击
    这是一个创建于 2330 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    21 条回复    2018-07-20 17:33:32 +08:00
    fuxiaohei
        1
    fuxiaohei  
       2018-07-19 10:47:26 +08:00
    自己写脚本,shell 或者 makefile 都可以
    reus
        2
    reus  
       2018-07-19 10:50:07 +08:00
    go 命令就是构建工具。要生成什么就用 go generate。主流就是这个。
    spice630
        3
    spice630  
       2018-07-19 10:53:06 +08:00
    go build 是主流,大型项目上 makefile gradle 都可以,看自己熟悉哪个,go 新手自己写项目一般还用不到这些。
    spice630
        4
    spice630  
       2018-07-19 10:53:47 +08:00
    看代码的话,按照文档来构建就可以了,几个命令的事。
    jianpanxia
        5
    jianpanxia  
       2018-07-19 11:50:21 +08:00
    Makefile 挺好。。
    iRiven
        6
    iRiven  
       2018-07-19 12:16:15 +08:00
    一直用 go build,我也想用 makefile,but 那玩意看不懂啊
    chuhemiao
        7
    chuhemiao  
       2018-07-19 12:19:04 +08:00
    go build+1
    znood
        8
    znood  
       2018-07-19 12:19:22 +08:00 via iPhone
    自己写 build.sh 脚本
    dishonest
        9
    dishonest  
       2018-07-19 13:49:32 +08:00
    我用 ant
    webluoye
        10
    webluoye  
       2018-07-19 14:38:15 +08:00
    build +1
    zichen
        11
    zichen  
    OP
       2018-07-19 14:46:09 +08:00
    @dishonest 我去,哥们这个感觉你不走寻常路啊,现在 java 用 ant 构建的都不多了吧?
    janxin
        12
    janxin  
       2018-07-19 15:36:50 +08:00
    你可以选择 Gradle
    dishonest
        13
    dishonest  
       2018-07-19 16:17:42 +08:00
    @zichen ant 很简单,反正又用不上 java 里面的 dependencies,而且一个 PATH 下的 ant 就搞定了。
    以前用 makefile,发现不能跨平台不好使,windows 下和 linux/mac 有区别。
    eslizn
        14
    eslizn  
       2018-07-19 16:20:45 +08:00
    go 的 makefile 也是调用 go build 啊。。。go 跨平台是真的方便
    pathbox
        15
    pathbox  
       2018-07-19 17:29:17 +08:00 via iPhone
    makefile 完事,golang 交叉编译也很简单
    OvLOrz
        16
    OvLOrz  
       2018-07-19 17:49:22 +08:00
    makefile 是 Linux 下面通用的构建方案吧
    mritd
        17
    mritd  
       2018-07-19 20:07:16 +08:00 via iPhone
    用 go build 的推荐个工具 叫 gox(手机地铁上不方便发地址),github 发布推荐 ghr
    orderc
        18
    orderc  
       2018-07-19 20:45:03 +08:00
    主流是 makefile,把 go build , go run 等封装到 makefile,调用方便
    也可以用谷歌的 bazel
    Comdex
        19
    Comdex  
       2018-07-19 22:24:51 +08:00
    go module 是未来
    zichen
        20
    zichen  
    OP
       2018-07-20 11:52:21 +08:00
    @Comdex 搜了搜,这个靠谱,就是落地估计得有一段时间。
    stirlingx
        21
    stirlingx  
       2018-07-20 17:33:32 +08:00
    go build
    dockerfile
    docker-compose
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.