在Ubuntu下管理Golang依赖,推荐使用Go Modules(官方工具,Go 1.16+默认启用),步骤如下:
在项目根目录执行:
go mod init <模块路径> # 如 github.com/yourname/project
生成go.mod文件,记录依赖信息。
import依赖后,运行:go mod tidy # 自动下载依赖并更新go.mod/go.sum
go get <包路径>@<版本> # 如 go get github.com/gin-gonic/gin@v1.9.1
go get -u <包路径> # 升级到最新次要/补丁版本
go get -u=patch <包路径> # 仅升级补丁版本
go get -u ./... # 更新当前模块的所有依赖
go mod tidy # 删除未使用的依赖,补全缺失的依赖
go env -w GOPROXY=https://goproxy.cn,direct # 推荐使用国内代理
将go.mod和go.sum文件提交到Git,确保依赖版本可追溯。
go list -m all # 列出所有直接/间接依赖
go mod graph # 显示依赖关系图
go mod edit -replace github.com/old/pkg=../local-pkg
GO111MODULE,默认启用。go mod init和go mod tidy即可。参考资料: