分享
  1. 首页
  2. 文章

[golang] Glide 包管理

loveyx · · 18984 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、概述

golang的包管理工具有很多,本篇幅主要介绍glide进行包管理。

二、安装及命令介绍

go get github.com/Masterminds/glide

glide create|init 初始化项目并创建glide.yaml文件.

glide get 获取单个包

--all-dependencies 会下载所有关联的依赖包

-s 删除所有版本控制,如.git

-v 删除嵌套的vendor

glide install 安装包

glide update|up 更新包

三、案例测试

准备:本次测试的包是 github.com/mattn/go-adodb ,这个包其中有一个依赖包是 github.com/go-ole/go-ole

3.1 下载单个包

command:
 glide get github.com/mattn/go-adodb
glide.lock:
 hash: 60061bf3133f0eec2f147f3d80f3e37c402ee12df8cde841b03d80c82a96bab7
 updated: 2016年05月18日T23: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

3.2 下载单个包, --all-dependencies

command:
 glide get --all-dependencies -s -v github.com/mattn/go-adodb
glide.lock:
 hash: 60061bf3133f0eec2f147f3d80f3e37c402ee12df8cde841b03d80c82a96bab7
 updated: 2016年05月18日T23: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中可以看到,确实将所有的依赖包都下载了。

3.3 下载制定版本号的包

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

3.4 团队开发

在团队开始时,需要将 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月18日T23: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的好处是,每个项目都采用各自独立的包,而且可以很好的控制包的版本,这在团队开发中尤其重要。


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:loveyx

查看原文:[golang] Glide 包管理

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
18984 次点击
上一篇:golang中调用C
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏