# 将模块下载到本地缓存,需要指定模块路径及版本号
go mod download
# 例如
go mod download github.com/gin-gonic/gin@v1.9.0
# 初始化一个新的模块到当前目录,例如: go mod init gomod
go mod init
# 例如
go mod init gomodcase
# 依赖对齐: 添加缺少的依赖,删除未使用的依赖
go mod tidy
# 通过工具或脚本编辑go.mod
go mod edit
# 例如# 添加依赖项
go mod edit -reguire="github.com/gin-gonic/gin@v1.9.0"# 替换路径,old[@version] 替换成 new[@version]
go mod edit -replace="golang.org/x/crypto@v0.0.0=github.com/golang/crypto@latest"# 排除第三方依赖的某个版本
go mod edit -exlude="github.com/gin-gonic/gin@v1.9.0"# 当前项目作为其他项目的依赖时,添加撤回版本用于排除有问题的版本
go mod edit -retract="v1.0.0"
go mod edit -retract="v1.1.0"# 删除撤回版本记录
go mod edit -dropretract="v1.0.0"# 根据go.mod中的依赖项制作vendor副本# 有了vendor副本,项目将不再依赖本地缓存
go mod vendor
# 验证依赖是否正确
go mod verify
# 返回对指定模块的依赖关系最短路径,解释为什么指定依赖包
go mod why
# 例如
go mod why github.com/go-playground/validator/v10
go install/get/clean
# go install 安装可执行插件# 例如
go install github.com/google/gops@latest
# go get 获取模块信息并更新go.mod文件# 若本地缓存没有该模块,则下载模块;若有则直接引用# 例如
go get github.com/gin-gonic/gin@v1.9.0
# go get -u 更新依赖模块,并更新go.mod
go get github.com/gin-gonic/ginv1.9.0
# go clean 清理临时目录中的文件# 例如: 清理整个module下载的缓存文件
go clean -modcache