Glideを使って、 Goプロジェクトのパッケージバージョンを管理しよう!
こんにちは!エンジニアのギです。
今回はGoプロジェクトのパッケージバージョンの管理に関して、Glideというツールをご紹介いたします。
Goのデフォルトパッケージ管理を使うときの問題
Go言語には標準で go get
という依存関係を解消する便利なコマンドが含まれていて、このコマンドを使うことでリポジトリから1コマンドで簡単にすべての依存パッケージをダウンロードし導入できるようになっています。しかし、このコマンドを使うと、固定なバージョンを設定できないし、依存パッケージの最新バージョンしか導入できないという悩ましい問題があります。
パッケージのバージョン固定のいくつかツールまとめ
パッケージのバージョン固定の管理ツールはいろんなものがありますが、GitHubのStar数が高いやつをいくつかまとました。
URL | Star数 | 参考 |
---|---|---|
dep | 4399 | 公式ツール。Alphaバージョンなう |
manul | 634 | |
godep | 4863 | |
govendor | 2350 | |
gvt | 678 | |
govend | 223 | |
glide | 5211 | php composerのようなツール |
gom | 1276 |
私はPHPの開発に慣れているので、composerに似たglideというツールを使って開発するのが楽です。
ぎっとはぶでのGit Hub star数も多いので、glideに慣れている方もいると思います。
Glideを使ってみよう
Glideをインストールする方法
LINUXとかMACなどで以下のコマンドを実行すると、インストールできます。
1 2 |
curl https://glide.sh/get | sh |
Macでは、Homebrewでもインストールできます
1 2 3 |
brew update brew install glide |
パッケージ定義ファイルを作成する方法
Glideは、依存関係の定義ファイルをYAMLで記述します。プロジェクトのルートに以下コマンドを実行すると、定義ファイルが作成されます。
1 2 |
glide init |
パッケージ定義の設定
上記のコマンドを実行すると、glide.yamlファイルが生成されます。このファイルに一覧パッケージを定義できます。バージョン固定もできます
1 2 3 |
- package: github.com/labstack/echo version: ^3.2.1 |
パッケージの取得と更新
1 2 |
glide install |
新しいパッケージの追加
1 2 |
glide get github.com/foo/bar#^1.2.3 |
最後に
以上です。Glideを軽く紹介いたしました。
Goプロジェクトのパッケージのバージョンを固定したい方は是非Glideを試してみてください!
こんにちは!学んだこと、気になることを書こうと思います。