【发布时间】:2020-08-01 10:41:24
【问题描述】:
根据this document,我需要将-mod=vendor 添加到我的构建命令中以使用我本地的vendor 文件夹:
默认情况下,像 go build 这样的 go 命令在模块模式下会忽略供应商目录。 -mod=vendor 标志(例如,go build -mod=vendor)指示 go 命令使用主模块的顶级供应商目录来满足依赖关系。
当我运行这个命令时:
go build -mod=vendor -a -ldflags "-s -w -X github.com/my-api/pkg/config.Version=169.3988801" -o bin/my-api
我收到此错误:
build flag -mod=vendor only valid when using modules
本地命令按预期工作,错误仅发生在构建服务器上。
【问题讨论】:
-
我认为您所展示的帮助的关键部分是“在模块模式下”。这只会在您处理 GOPATH 之外的代码或设置 GO111MODULE=on 环境变量时发生。 golang.org/cmd/go/#hdr-Preliminary_module_support
标签: go go-modules go-build