【Duke】依赖管理 020 - PingPongGooo/GoFoundation GitHub Wiki

Go未解决的依赖问题

go 版本依赖 不足。比 java中的maven差点意思。

1. 同一环境下,不同项目使用同一包的不同版本
2. 无法管理对包的特定版本的依赖

vendor路径

随之 Go1.5 release版本的发布,vendor目录被添加到除了 GOPATH和GOROOT之外的依赖目录查找的解决方案。在Go1.6之前,你需要手动的设置环境变量

查找依赖包路径的解决方案如下:

1. 当前包下的vendor目录
2. 向上级目录查找,知道找到src下的vendor目录
3. 在GOPATH下面查找依赖包
4. 在GOROOT目录下查找

常用的依赖管理工具

godep   https://github.com/tools/godep
glide  https://github.com/Masterminds/glide
dep  https://github.com/goland/dep
充分利用了vendor路径,弥补了 go 依赖管理的不足。

brew install glide

windows自行百度

在项目根目录下 glide init 生成glide.yaml

glide install