GlideによるGolangのパッケージ管理
2842 ワード
概要
Golangのパッケージ管理ツールはたくさんありますが、本編では主にGlideによるパッケージ管理について説明します.
インストールおよびコマンドの説明
コマンドはglide create|init初期化プロジェクトを紹介し、glide.yamlファイルを作成します.glide getは単一のパッケージを取得します.all-dependenciesは、.git-vネストされたvendor glide installインストールパッケージglide update|up更新パッケージなど、関連するすべての依存パッケージをダウンロードします.
ケーススタディ
の準備を
今回テストしたパッケージはgithub.com/mattn/go-adodbで、このパッケージの1つの依存パッケージはgithub.com/go-ole/go-oleです.
個々のパッケージのダウンロード
単一のパッケージをダウンロード--all-dependencies
lockから、確かにすべての依存パッケージがダウンロードされていることがわかります.
バージョン番号を設定したパッケージをダウンロード
チーム開発
チームが開始するときはglide.yamlとglide.lockをバージョン管理する必要があります.vendorは無視します.チームが開発したプロセスAのシミュレーション:プロジェクトを初期化し、ソースコードを提出しました.glide.yamlとglide.lockの内容は以下の通りです.
Bさん:プロジェクトを引っ張って、glide installを実行して、自動的に対応するかばんをダウンロードします
まとめ
glideを使用するメリットは、各プロジェクトが独立したパッケージを採用し、パッケージのバージョンをよく制御できることです.これはチーム開発において特に重要です.
Golangのパッケージ管理ツールはたくさんありますが、本編では主にGlideによるパッケージ管理について説明します.
インストールおよびコマンドの説明
➜ tonny@tonny-pc ~ go get github.com/Masterminds/glide
コマンドはglide create|init初期化プロジェクトを紹介し、glide.yamlファイルを作成します.glide getは単一のパッケージを取得します.all-dependenciesは、.git-vネストされたvendor glide installインストールパッケージglide update|up更新パッケージなど、関連するすべての依存パッケージをダウンロードします.
ケーススタディ
の準備を
今回テストしたパッケージはgithub.com/mattn/go-adodbで、このパッケージの1つの依存パッケージはgithub.com/go-ole/go-oleです.
個々のパッケージのダウンロード
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を使用するメリットは、各プロジェクトが独立したパッケージを採用し、パッケージのバージョンをよく制御できることです.これはチーム開発において特に重要です.