[golang] Glide 包管理

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

一、概述

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-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

  

3.2 下載單個包, --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中可以看到,確實將所有的依賴包都下載了。

 

3.3 下載制定版本號碼的包

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

  

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-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的好處是,每個項目都採用各自獨立的包,而且可以很好的控制包的版本,這在團隊開發中尤其重要。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.