Go 1.11+ 中用 go mod 管理依赖:先在根目录执行 go mod init 初始化,再运行 go mod tidy 自动下载、清理并更新依赖;注意模块名一致性、避免手动改 go.sum。

在 Go 1.11+ 中,使用 go mod 是管理项目依赖的标准方式。初始化模块和整理依赖只需几个简单命令,但要注意执行位置和环境变量设置。
初始化 Go 模块
在项目根目录下运行:
-
go mod init—— 创建go.mod文件,通常为 Git 仓库地址(如github.com/username/project),也可用本地路径(如myproject) - 若省略模块名,Go 会尝试从当前路径推断;不推荐省略,避免后续导入路径出错
- 确保当前目录不含旧的
Gopkg.lock或vendor/(如有,可先清理再初始化)
添加并整理依赖(go mod tidy)
go mod tidy 会自动完成三件事:下载缺失依赖、移除未使用的依赖、更新 go.mod 和 go.sum 文件。
- 运行前确保代码中已正确
import所需包(包括测试文件中的 import) - 直接执行
go mod tidy即可,无需额外参数(除非需要指定 Go 版本,可在go.mod中手动修改go 1.x行) - 首次运行可能较慢(需拉取远程模块),之后会利用本地缓存(
$GOPATH/pkg/mod)
常见问题与建议
遇到依赖异常时,可配合以下操作排查:
立即学习“go语言免费学习笔记(深入)”;
-
go list -m all查看当前所有模块及其版本 -
go mod graph | grep xxx快速定位某包被谁引入 - 若依赖版本不符合预期,可用
go get xxx@v1.2.3显式升级或降级,再执行go mod tidy - 避免手动编辑
go.sum;它由 Go 自动维护,校验包完整性
整个流程不复杂但容易忽略细节,关键是保持模块名一致性、及时运行 tidy、信任 Go 工具链的自动管理能力。










