golang包管理的取巧
常见的golang的包管理工具
- 
glide 使用yaml做配置,语义化版本管理,可以设置镜像,下载x系列库,但是x系列库被第三方库依赖时会出现下载失败。
 - 
dep 亲儿子,语义化版本管理,无法解决墙
 - 
vgo 亲儿子为了解决语义化版本和导入版本的问题 ,没研究,猜测也无法解决墙
 - 
gvt 和go get 一样,只是下载到了vendor目录
 
经过一段时间的折腾后,发现还是gvt 最好用,虽然没有什么语义化版本,但是好处是可以设置镜像,而且没有glide中x系列库被依赖而无法下载的问题。
解决方案
使用gvt,并把vendor下的gvt配置文件manifest加入git仓库,这样其他人可以使用gvt restore恢复
常用的x系列库配置为:
       {
			"importpath": "golang.org/x/crypto",
			"repository": "https://github.com/golang/crypto",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		},
		{
			"importpath": "golang.org/x/image",
			"repository": "https://github.com/golang/image",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		},
		{
			"importpath": "golang.org/x/net",
			"repository": "https://github.com/golang/net",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		},
		{
			"importpath": "golang.org/x/sync",
			"repository": "https://github.com/golang/sync",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		},
		{
			"importpath": "golang.org/x/sys",
			"repository": "https://github.com/golang/sys",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		},
		{
			"importpath": "golang.org/x/text",
			"repository": "https://github.com/golang/text",
			"vcs": "git",
			"revision": "",
			"branch": "master",
			"notests": true
		}
            
 
作者:半山            
 
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
                    
                
                
            
        
浙公网安备 33010602011771号