首页  

Go依赖管理 和 Go module使用     所属分类 go 浏览量 722
早期 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