LoginSignup
2
3

More than 5 years have passed since last update.

Glideを使って、 Goプロジェクトのパッケージバージョンを管理しよう!

Posted at

こんにちは!エンジニアのギです。
今回は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などで以下のコマンドを実行すると、インストールできます。

curl https://glide.sh/get | sh

Macでは、Homebrewでもインストールできます

brew update
brew install glide

パッケージ定義ファイルを作成する方法

Glideは、依存関係の定義ファイルをYAMLで記述します。プロジェクトのルートに以下コマンドを実行すると、定義ファイルが作成されます。

glide init

パッケージ定義の設定

上記のコマンドを実行すると、glide.yamlファイルが生成されます。このファイルに一覧パッケージを定義できます。バージョン固定もできます

- package: github.com/labstack/echo
  version: ^3.2.1

パッケージの取得と更新

glide install

新しいパッケージの追加

glide get github.com/foo/bar#^1.2.3

最後に

以上です。Glideを軽く紹介いたしました。

Goプロジェクトのパッケージのバージョンを固定したい方は是非Glideを試してみてください!

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3