go help mod
Usage:
go mod <command> [arguments]
The commands are:
download download modules to local cache(下载模块到本地缓存)
edit edit go.mod from tools or scripts(编辑go.mod)
graph print module requirement graph(打印模块需求图)
init initialize new module in current directory(在当前目录中初始化新模块)
tidy add missing and remove unused modules(拉取缺少的模块,移除不用的模块)
vendor make vendored copy of dependencies(将依赖复制到vendor下)
verify verify dependencies have expected content(验证依赖是否正确)
why explain why packages or modules are needed(解释为什么需要包或模块)
使用go mod管理一个新项目
使用 go mod 并不要求你的项目源码放到 $GOPATH 下,所以你的新项目可以放到任意你喜欢的路径。
在项目根目录下执行go mod init,会生成一个 go.mod 文件。
执行go mod download下载依赖(或者go mod widy)
在旧项目中使用
go mod init: 在项目根目录下执行该命令,会在项目根目录下生成一个go.mod文件。
go mod tidy: 在项目根目录下执行该命令,go mod 会自动分析你当前项目所需要的依赖,并且将他们下载下来。
升级依赖
go get:
运行 go get -u 将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
运行 go get -u=patch 将会升级到最新的修订版本
运行 go get package@version 将会升级到指定的版本号version
运行go get如果有版本的更改,那么go.mod文件也会更改
go.sum校验和不匹配问题
执行下面命令
go env -w GOSUMDB=off //校验
go clean -modcache
go mod tidy
go mod vendor
若不奏效,可删除文件go.mod,go.sum,执行go mod init,并重新执行以上命令