Golang学习之采用Glide进行包管理
概述 Golang的包管理工具有很多,本篇幅主要介绍Glide进行包管理。 安装及命令介绍 ? tonny@tonny-pc ~ go get github.com/Masterminds/glide
命令介绍 glide create|init 初始化项目并创建glide.yaml文件. glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendor glide install 安装包 glide update|up 更新包 案例测试 准备 本次测试的包是 下载单个包 command:
glide get github.com/mattn/go-adodb
glide.lock:
hash: 60061bf3133f0eec2f147f3d80f3e37c402ee12df8cde841b03d80c82a96bab7
updated: 2016-05-18T23:30:08.5219207+08:00
imports:
- name: github.com/mattn/go-adodb
version: 452cccbbcfb7906b3cbc512992557c1083e1011b
devImports: []
glide.yaml:
package: glide_demo6
import:
- package: github.com/mattn/go-adodb
下载单个包,–all-dependencies command:
glide get --all-dependencies -s -v github.com/mattn/go-adodb
glide.lock:
hash: 60061bf3133f0eec2f147f3d80f3e37c402ee12df8cde841b03d80c82a96bab7
updated: 2016-05-18T23:34:48.7545322+08:00
imports:
- name: github.com/go-ole/go-ole version: 572eabb84c424e76a0d39d31510dd7dfd62f70b2
subpackages:
- oleutil - name: github.com/gonuts/commander version: f8ba4e959ca914268227c3ebbd7f6bf0bb35541a
- name: github.com/gonuts/flag version: 741a6cbd37a30dedc93f817e7de6aaf0ca38a493
- name: github.com/mattn/go-adodb version: 452cccbbcfb7906b3cbc512992557c1083e1011b
devImports: []
glide.yaml:
package: glide_demo6
import:
- package: github.com/mattn/go-adodb
从lock中可以看到,确实将所有的依赖包都下载了。 下载制定版本号的包 command:
glide get github.com/go-sql-driver/mysql#v1.2
glide.yaml:
package: glide_demo
import:
- package: github.com/go-sql-driver/mysql
version: v1.2
案例测试 在团队开始时,需要将 glide.yaml 和 glide.lock 进行版本控制,vendor 忽略掉。 模拟下团队开发的流程 A同学:初始化项目,并提交了源码,其中glide.yaml 和 glide.lock的内容如下 glide.yaml:
package: glide_demo6
import:
- package: github.com/mattn/go-adodb
- package: github.com/go-ole/go-ole
glide.lock:
hash: 18e3b9c2f5c11f3268b22ebdbea09636c5cae28e78f0011578f455c485e9d214
updated: 2016-05-18T23:43:15.8217224+08:00
imports:
- name: github.com/go-ole/go-ole
version: 572eabb84c424e76a0d39d31510dd7dfd62f70b2
- name: github.com/mattn/go-adodb
version: 452cccbbcfb7906b3cbc512992557c1083e1011b
devImports: []
B同学:拉去项目,执行 glide install,会自动下载对应的包 总结 使用glide的好处是,每个项目都采用各自独立的包,而且可以很好的控制包的版本,这在团队开发中尤其重要。 转自:http://www.jianshu.com/p/7751affc933e (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |