1.前置条件
已安装go1.13.15环境
2.module概念
module
是一个相关Go
包的集合,它是源代码更替和版本控制的单元。模块由源文件形成的go.mod
文件的根目录定义,包含go.mod
文件的目录也被称为模块根。moudles
取代旧的的基于GOPATH
方法来指定在工程中使用哪些源文件或导入包。模块路径是导入包的路径前缀,go.mod
文件定义模块路径,并且列出了在项目构建过程中使用的特定版本。
3.module配置
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
Go mod 的三种开启模式
- GO111MODULE
- on:支持Go mod模式
- off:不支持Go mod模式
- auto (默认模式):如果代码在gopath下,则自动使用gopath模式;如果代码不在gopath下,则自动使用GO mod模式。
- 开启方式:
- Windows中,在环境变量中添加变量即可,变量名为 GO111MODULE ,变量值可设置为 on、off、auto。
- Linux中,只要在 /etc/profile 中添加 export GO111MODULE=on 或 export GO111MODULE=off 或 export GO111MODULE=auto。然后执行 source /etc/profile 刷新即可。
4.go mod使用
go mod xxx
download //下载模块到本地缓存,具体可以通过命令go env查看,其中环境变量GOCACHE就是缓存的地址,如果该文件夹的内容太大,可以通过命令go clean -cache edit //从工具或脚本中编辑go.mod文件 graph //打印模块需求图 init //在当前目录下初始化新的模块 tidy //添加缺失的模块以及移除无用的模块 verify //验证依赖项是否达到预期的目的 why //解释为什么需要包或模块