我这里简要说下Golang的包管理,目前Golang的包管理有几个比较用的多的,比如godep,govender,glide,还有官方最近推出的dep。 本篇文章是对Glide包在进行包管理时遇到下载包出现错误的一个小结。
Glide官方地址:glide.sh
在进行glide update
初始化已有的项目时,会遇到
` https://golang.org/x/crypto等包无法下载的无法的情况,我们在没用包管理工具时通常都是在github上先把对应的包下载下来,比如上个就应该在
https://github.com/golang/crypto下载,然后copy到你本地
golang.org/x的目录下就行了。但是现在使用Glide管理时,你的命令
glide update`会报错,这时解决方法就变的更加“智能”了,可以直接这样操作:
$ glide mirror set https://golang.org/x/crypto https://github.com/golang/crypto --vcs git
这样就可以爽快的执行glide update
,直到项目产生glide.lock
文件,你的项目就成功的使用glide来管理了。
我在这里分享实际开发经常需要进行该操作的包,你可以直接编辑~/.glide/mirror.yaml
然后将下面的内容复制进去就可以了:
repos:
- original: https://golang.org/x/crypto
repo: https://github.com/golang/crypto
vcs: git
- original: https://golang.org/x/image
repo: https://github.com/golang/image
vcs: git
- original: https://golang.org/x/mobile
repo: https://github.com/golang/mobile
vcs: git
- original: https://golang.org/x/net
repo: https://github.com/golang/net
vcs: git
- original: https://golang.org/x/oauth2
repo: https://github.com/golang/oauth2
vcs: git
- original: https://golang.org/x/sys
repo: https://github.com/golang/sys
vcs: git
- original: https://golang.org/x/text
repo: https://github.com/golang/text
vcs: git
- original: https://golang.org/x/tools
repo: https://github.com/golang/tools
vcs: git
- original: https://google.golang.org/appengine
repo: https://github.com/golang/appengine
vcs: git
- original: https://google.golang.org/genproto
repo: https://github.com/google/go-genproto
vcs: git
- original: https://google.golang.org/grpc
repo: https://github.com/grpc/grpc-go
vcs: git