go module是go1.11版本之后官方推出的版本管理工具,并且从go1.13版本开始,go module将是go语言默认的依赖管理工具
要启用go module支持首先要设置环境变量go111module,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。
go111module=off禁用模块支持,编译时会从gopath和vendor文件夹中查找包。
go111module=on启用模块支持,编译时会忽略gopath和vendor文件夹,只根据 go.mod下载依赖。
go111module=auto,当项目在$gopath/src外且项目根目录有go.mod文件时,开启模块支持。
# 启用 go modules 功能 export go111module=on
常用的go mod命令如下:
go mod download 下载依赖的module到本地cache(默认为$gopath/pkg/mod目录) go mod edit 编辑go.mod文件 go mod graph 打印模块依赖图 go mod init 初始化当前文件夹, 创建go.mod文件 go mod tidy 增加缺少的module,删除无用的module go mod vendor 将依赖复制到vendor下 go mod verify 校验依赖 go mod why 解释为什么需要依赖
安装go get -u github.com/kardianos/govendor
基础命令
govendor init # 创建vendor目录,创建vendor.json文件 govendor add +external #生成依赖包 govendor update +vendor # 更新vendor的包命令
init 初始化 vendor 目录 list 列出所有的依赖包 add 添加包到 vendor 目录,如 govendor add +external 添加所有外部包 add pkg_path 添加指定的依赖包到 vendor 目录 update 从 $gopath 更新依赖包到 vendor 目录 remove 从 vendor 管理中删除依赖 status 列出所有缺失、过期和修改过的包 fetch 添加或更新包到本地 vendor 目录 sync 本地存在 vendor.json 时候拉去依赖包,匹配所记录的版本 get 类似 go get 目录,拉取依赖包到 vendor 目录
如对本文有疑问, 点击进行留言回复!!
VSCode1.4 搭建Golang的开发调试环境(遇到很多问题)
网友评论