go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用
go module可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等
开启go module
set GO111MODULE=on //windows export GO111MODULE=on //linux
goland需要在工具里另行配置,默认是不开启的
GO PROXY 下载代理
(不配置国内镜像会下载超市)
我用的这个: GOPROXY="https://goproxy.io,direct"
初始化MODULE
(我这以goland为例)
1. 创建项目
2.go mod init test(test为项目名) ## 初始化go.mod
进入你的项目文件夹
项目根目录会出现一个 go.mod 文件
注意,此时的 go.mod 文件只标识了项目名和go的版本,这是正常的,因为只是初始化了(也可以手动创建,空目录可能只有项目名)
3. go mod tidy(检测依赖)
goland工具执行直接就将依赖下载下来了 (go moudle 以来统一管理在GOPATH/pkg/mod)
并且更新go.mod (写入了依赖和版本)
4. go mod download(下载依赖)
这步项目一般就初始化更新好了
go module 常用命令
go mod init # 初始化go.mod
go mod tidy # 更新依赖文件
go mod download # 下载依赖文件
go mod vendor # 执行此命令,会将刚才下载至 GOPATH 下的依赖复制至该项目根目录下的 vendor(自动新建) 文件夹下
go mod edit # 手动修改依赖文件
go mod graph # 打印依赖图
go mod verify # 校验依赖