go mod vendor 可将依赖复制到本地 vendor 目录,确保离线构建;需先初始化模块、整理依赖并生成 go.mod 和 go.sum,再执行 go mod vendor 生成 vendor 文件夹;构建时使用 go build -mod=vendor 强制读取 vendor 中的依赖,保证构建一致性。使用 go mod vendor 打包依赖是 Go 项目在发布或离线部署时常见的做法。它能将所有外部依赖复制到项目根目录下的 vendor 文件夹中,使构建过程不依赖 GOPATH 或远程模块下载。
确保你的项目使用 Go Modules 管理依赖。若还未初始化,可在项目根目录执行:
go mod init your-project-name — 初始化模块,生成 go.mod 文件go build),会自动生成 go.sum 文件确保所有依赖已正确写入 go.mod。可通过以下命令同步依赖:
go mod tidy — 清理未使用的依赖,并补全缺失的模块运行如下命令,将所有依赖复制到本地 vendor 目录:
go mod vendor启用 vendor 模式后,Go 会优先从 vendor 中读取依赖:
go build -mod=vendor — 强制使用 vendor 中的依赖进行构建-mod=vendor 参数是否将 vend
or 提交到 Git 等版本控制系统,取决于团队需求:
!vendor/
如需重新生成 vendor,先删除旧目录再执行命令:
rm -rf vendor vendor.modules.txtgo mod vendor — 重新生成