go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
代理地址:
https://goproxy.cn
https://mirrors.aliyun.com/goproxy
https://goproxy.baidu.com/
https://juejin.im/post/5d8ee2db6fb9a04e0b0d9c8b
GO111MODULE可以设置为三个字符串值之一:off,on或auto(默认值)。
- OFF: 查找vendor 目录和GOPATH模式”。
- on 则go命令需要使用模块,go 会忽略 $GOPATH 和 vendor 文件夹,只根据go.mod下载依赖。
- auto 或未设置,则go命令根据当前目录启用或禁用模块支持。仅当当前目录位于$GOPATH/src之外并且其本身包含go.mod文件或位于包含go.mod文件的目录下时,才启用模块支持。 | 命令 | 作用 | | :—- | :—- | | go mod download | 下载依赖包到本地(默认为 GOPATH/pkg/mod 目录) | | go mod edit | 编辑 go.mod 文件 | | go mod graph | 打印模块依赖图 | | go mod init | 初始化当前文件夹,创建 go.mod 文件 | | go mod tidy | 增加缺少的包,删除无用的包 | | go mod vendor | 将依赖复制到 vendor 目录下 | | go mod verify | 校验依赖 | | go mod why | 解释为什么需要依赖 |
require语句指定的依赖项模块
replace语句可以替换依赖项模块
exclude语句可以忽略依赖项模块
module example.com/foobar
go 1.13
require (
example.com/apple v0.1.2
example.com/banana v1.2.3
example.com/banana/v2 v2.3.4
example.com/pineapple v0.0.0-20190924185754-1b0db40df49a
)
exclude example.com/banana v1.2.4
replace example.com/apple v0.1.2 => example.com/rda v0.1.0
replace example.com/banana => example.com/hugebanana
go clean -modcache 清除缓存
go mod 新东西偶尔还会出现问题 ,这个命令可以尝试修复,不过执行之前可以考虑备份一下pkg/mod中的包.以防不测.
go list -m -u all来检查可以升级的 package