Golang学习之采用Glide进行包管理
来源:互联网 发布:cad2016简体中文版mac 编辑:程序博客网 时间:2024/06/05 07:47
概述
Golang的包管理工具有很多,本篇幅主要介绍Glide进行包管理。
安装及命令介绍
➜ tonny@tonny-pc ~ go get github.com/Masterminds/glide
命令介绍
glide create|init 初始化项目并创建glide.yaml文件.glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendorglide install 安装包glide update|up 更新包
案例测试
准备
本次测试的包是 github.com/mattn/go-adodb
,这个包其中有一个依赖包是 github.com/go-ole/go-ole
。
下载单个包
command: glide get github.com/mattn/go-adodbglide.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-adodbglide.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.2glide.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-oleglide.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
阅读全文
1 0
- Golang学习之采用Glide进行包管理
- golang Glide 包管理windows下使用
- Glide管理Golang项目
- golang包学习之sync
- glide包管理
- 用client-go二开kubernetes glide的golang 的包管理
- Golang包管理工具Glide,你值得拥有
- Golang学习之net/http包
- Golang学习之net包介绍
- Golang学习之net包详解
- golang log包学习
- golang学习--fmt包
- Golang学习之函数式编程(闭包)
- Golang学习之net/http 包使用模式
- Glide学习之二
- Golang的包管理、项目管理
- OpenCV学习之采用金字塔方法进行图像分割
- Golang学习笔记--flag包
- Softmax和交叉熵
- 编程通用知识
- eclipse oxygen4.7 bug: jsp html 标签Option 嵌入jsp标签如<c:if>报错
- Xen中半虚拟化的创建与配置
- Android长久浮窗 service
- Golang学习之采用Glide进行包管理
- SVD降维
- springboot【21】日志管理之1.5.x新特性:动态修改日志级别
- Java程序内存分析:使用mat工具分析内存占用
- 结构体定义 typedef struct 用法详解和用法小结
- 01 矩阵
- 前端跨域知识总结
- 测试调用XXX.asmx类型接口
- 关于Socket通讯时通讯协议的制定