根据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
该命令在本地正常运行,该错误仅在构建服务器上发生。
答案 0 :(得分:1)
我认为您显示的帮助的关键部分是when in module mode
。仅当您在GOPATH以外的代码上工作或设置了GO111MODULE=on
环境变量时才会发生这种情况,因此我认为您是在本地环境中设置了此设置,而在构建服务器中没有设置。
有关启用模块支持的更多信息,请参见: