Go之MOD管理包
2021-08-13 本文已影响0人
TZX_0710
go modules是golang1.11的新特性。现在当前版本为1.16.6版本。
模块是相关GO的集合。modules是源代码交换和版本控制的单元。go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules
替换旧的基于GOPATH的方法来指定在给构建中使用哪些源文件
如何使用 Modules
1.把golang升级到最新版本(1.16.6)
2.设置GO111MODULE
GO111MODULE
有三个值
GO111MODULE=off
go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。GO111MODULE=on
go命令行会使用modules,而一点不会去GOPATH目录下查找GO111MODULE=auto
默认值,go命令将会根据当前目录来决定是否启用module功能。比如当前目录在GOPATH/src之外,且该目录包含mod文件,当前文件包含在go.mod 文件的目录下面。
采用一个创建 beego项目的示例做讲解
bee api api//创建一个api 项目
//使用go mod init初始化项目
go mod init api
//使用tidy 检测所需的依赖
go mod tidy
go.mod
mod 文件当中 require当中可以看到已经引入了beego的所需依赖
mod指令快速查询
go mod init folder[可选] //初始化对应的文件夹 如folder不填写 默认当前文件
go mod edit //编辑 mod文件
go mod graph //打印模块依赖图
go mod tidy //增加缺少的module 删除无用的module
go mod vendor //将依赖复制到vendor下
go mod verify 校验依赖
go mod why //解释为什么需要依赖
go mod download //下载以来的module到本地cache 默认位GOPATH/pkg/mod目录