Go 1.11+ 内置 Go Modules,无需额外工具;用 go mod init 初始化模块,go get 获取依赖(支持版本、分支指定),配合 go mod tidy 和 GOPROXY 配置可高效管理依赖。

Go 语言从 1.11 版本起已内置模块(Go Modules)支持,不再需要额外安装独立的依赖管理工具(如 dep、govendor 等)。现在标准做法是直接使用 go get 配合 Go Modules 进行依赖获取与管理。
确认 Go 版本并启用模块模式
Go Modules 默认在项目根目录有 go.mod 文件时自动启用。建议使用 Go 1.16+(推荐 1.20+),确保模块功能稳定:
- 运行
go version查看当前版本,若低于 1.11,请升级 Go - 新建项目时,在项目根目录执行
go mod init your-module-name初始化模块(如go mod init example.com/myapp) - 初始化后会生成
go.mod文件,后续go get会自动更新该文件及go.sum
使用 go get 获取第三方包
go get 不仅下载包,还会解析依赖、更新 go.mod 并记录校验和。常用方式如下:
- 获取最新稳定版:
go get github.com/gin-gonic/gin - 指定版本(推荐):
go get github.com/spf13/cobra@v1.8.0 - 获取主分支最新提交:
go get github.com/your/repo@main - 仅下载不引入代码(如只用于工具):
go install github.com/swaggo/swag/cmd/swag@latest
常见问题与注意事项
实际使用中容易忽略的关键点:
立即学习“go语言免费学习笔记(深入)”;
-
go get默认拉取 tagged 版本(如 v1.2.3),若无 tag 则回退到 latest commit,可能不稳定——建议始终指定语义化版本 - 如果项目已有
go.mod但go get没生效,检查是否在模块根目录下执行命令 - 国内用户常遇超时或连接失败,可配置代理:
go env -w GOPROXY=https://proxy.golang.org,direct,推荐替换为国内镜像如https://goproxy.cn - 用
go list -m all查看当前依赖树,go mod tidy清理未使用的依赖并补全缺失项
不复杂但容易忽略:只要项目启用了 Go Modules,go get 就是唯一需要掌握的依赖获取方式,无需额外工具。










