Go依赖管理 和 Go module使用
所属分类 go
浏览量 731
早期 GO依赖的第三方库 放在 GOPATH 目录下
同一个库只能保存一个版本
不同的项目依赖同一个第三方的库的不同版本 如何解决
v1.5 引入 vendor 模式
如果项目目录下有vendor目录 优先使用vendor内的包
vender模式依赖管理工具 godep
go get github.com/tools/godep
godep save 创建 Godeps.json文件
godep go
godep get 下载并安装指定依赖包
godep path
godep restore 在GOPATH中拉取依赖的版本
godep update
godep diff
godep version
Godeps 和 vender 目录
Godeps/Godeps.json
go module
Go1.11 官方推出的版本管理工具
Go1.13 ,go module 成为 默认的依赖管理工具
环境变量 GO111MODULE
GO111MODULE=off 禁用模块支持,编译时从GOPATH和vendor文件夹中查找包
GO111MODULE=on 启用模块支持,编译时 忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖
GO111MODULE=auto 当项目不在 $GOPATH/src 且 项目根目录有go.mod文件时,开启模块支持
go.mod 和 go.sum
export GOPROXY=https://goproxy.cn
Go1.13之后GOPROXY默认值 https://proxy.golang.org,国内无法访问
推荐设置为 https://goproxy.cn
go env -w GOPROXY=https://goproxy.cn,direct
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 mod why -m all
go get 下载依赖包,可指定版本
go get -u 会升级到最新的次要版本或者修订版本
x.y.z
z 修订版本号, y 次要版本号
go get -u=patch 升级到最新的修订版本
go get package@version
go mod download 下载所有依赖
上一篇
下一篇
mac 文件属性 @ 后缀 无权限问题
docker 利用环境变量 设置 jvm 启动参数
docker 利用环境变量 设置 jvm 启动参数 系统参数
MAC M1 芯片
go rest api server 及 go mod 实战
GO操作Mysql