目录
一、Go依赖管理
1、Go未解决的依赖问题
- 同一环境下,不同项目使用同一包的不同版本;
- 无法管理对包的特定版本的依赖
为了解决这个问题,Go 在 1.5 release 发布之后,Go 引入了 vender 路径查找的解决方案。
2、vender 路径
vender 路径被添加到除了 GOROOT 和 GOPATH 之外的依赖目录,查找依赖包路径的的顺序如下:
- 当前包的 vender 目录;
- 向上级目录查找,直到找到 src 下的 vender 目录;
- 在 GOPATH 下查找依赖包;
- 在 GOROOT 目录下查找依赖包。
3、常用的依赖管理工具
- godep https://github.com/tools/godep
- glide https://github.com/Masterminds/glide
- dep https://github.com/golang/dep
每个工具都有自己的特点,但是在存储上都大同小异,可以根据自己的喜好来选择,glide 是现在比较新的。
4、安装 glide
brew install glide
5、glide 初始化
glide init
glide init 执行完毕后,生成了一个 yaml 文件,并把依赖的包和版本号定义在了里面。
6、根据生成的 yaml 配置文件安装依赖包
//安装我们的依赖包
go install
然后就会在我们的指定的文件下面生成一个 vender 目录和 glide.lock 文件。
到此为止,Go 就能 搜索到 vender 目录下面的 package 了,我们就通过 vender 来指定了包的路径和版本号,即实现了在同一环境下使用同一个包的不同版本依赖了。
二、总结
1、Go 查找依赖包路径的的顺序
- 当前包的 vender 目录;
- 向上级目录查找,直到找到 src 下的 vender 目录;
- 在 GOPATH 下查找依赖包;
- 在 GOROOT 目录下查找依赖包。
2、Glide 的安装使用命令
- brew install glide
- glide init
- go install
注:这篇博文是我学习中的总结,如有转载请注明出处:
https://blog.csdn.net/DaiChuanrong/article/details/118250954
上一篇:Go-package
下一篇:Go-协程机制