声明
通过 go get 生成对应文件的二进制文件,在任意目录下,可能无法直接使用 glide 的命令。我们可以通过把 golang 的 $GOPATH/bin
目录加入系统的 $PATH
路径下,即可正常使用。
安装
go get github.com/Masterminds/glide
go get github.com/kardianos/govendor
使用
glide :
- 直接输入
glide
查看命令详情,通过这条命令查看 glide 的全局配置(GLOBAL OPTIONS),例如:[$GLIDE_HOME]
- mirrors.yaml: 可以做一个地址映射,把自己需要对应的下载地址写一个目录,放在
.glide
文件夹下,可以glide
命令查看[$GLIDE_HOME]
就知道.glide
路径。mirrors.yaml
格式如下:
repos:
- original: https://github.com/golang/net
repo: [email protected]:gopackages_golang/net.git
vcs: git
glide init
:初始化,生成glide.yaml 和 glide.lockglide up
:升级 成功后会把对应的安装包安装在vendor
下
govendor:
goverdor --list
查看整个工程的依赖关系(状态缩写缩写如下)
- l:local
- e:external
- v:vendor
- p:program
- m:missing
- u:unused
govendor init
初始化,在vendor
下生成对应的vendor.json
govender add
把本地配置依赖添加到vendor
下,可直接通过状态缩写添加,例如:govendor add +e
添加所有状态缩写为 e 的依赖
总结
个人偏向使用 govendor
。
govendor
需要首先要保证自己本地依赖路径都正确的配置好。glide mirror
有一个问题就是无法正确的处理subpackage
,比如我想下载http://golang.org/x/net/http2
,这个mirror
就没有办法设置了,设置成http://github.com/golang/net
会把这个项目覆盖到http2
目录,设置为http://github.com/golang/net/http2
又会报找不到 vcs 文件信息。