为了账号安全,请及时绑定邮箱和手机立即绑定

构建 Go 项目:Go Mod 下载 vs Go 构建

构建 Go 项目:Go Mod 下载 vs Go 构建

Go
慕桂英546537 2022-08-24 16:45:19
我是新手,正试图弄清楚如何在我的circleci项目中执行构建步骤。我注意到在CircleCI Go球体中没有使用,这让我感到困惑,因为在CircleCI Go语言指南中,他们专门通过makefile使用。go buildgo build所以我不确定单独使用Go球是否足够(尽管这对我来说似乎很奇怪)。我模糊地理解go mod下载的作用,以及go build的作用,但是我已经看到了它们一起使用的示例:RUN go mod downloadCOPY . .RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build目前,根据go orb使用文档,我有:  build:    executor: go    steps:      - checkout      - go/load-cache:          key: go-mod-v1-{{ checksum "go.sum" }}      - go/mod-download      - go/save-cache:          key: go-mod-v1-{{ checksum "go.sum" }}      - slack/notify:          event: fail          template: basic_fail_1   我错过了什么或无意中通过使用代替或与?go mod downloadgo buildgo buildgo mod download
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

go mod download下载所有依赖项模块的源代码,并验证新下载模块的校验和。(请注意,在 Go 1.18 中,我们计划更改 的行为,以便它可以只下载在主模块中构建包和测试所需的模块。go mod download

go build构建软件包。它根据需要自动下载(并验证)模块源代码以构建这些包。在许多情况下,这是一组比 下载的模块小得多的模块。go mod download


查看完整回答
反对 回复 2022-08-24
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

go mod下载的文档详细介绍了所有依赖项,因为没有提供参数,因此将下载所有依赖项。

如果没有参数,下载将应用于主模块的所有依赖项。

问题中的行似乎是 CI 作业完整说明的子集。Circle CI 文档中的示例建议了一个构建步骤,该步骤是获取可执行文件所必需的。

任何生成命令都允许选择有关依赖项的行为。正如所建议的,有一个单独的取决于环境的约束。go mod download


查看完整回答
反对 回复 2022-08-24
  • 2 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信