Go の パッケージ管理ツールは glide がイイ感じ
ねこじゃらしの y-okubo と申します。
今回は、仕事で Go を書いたときに使ったパッケージ管理ツール glide について簡単にですが、紹介させていただきます。
そもそも Go にはパッケージ管理を行うための仕組みがありません。
パッケージ管理をし易くするための仕組みが、現行の 1.6 で導入された Vendoring です。
Vendoring の詳しい説明はググっていただくとして、実際にはパッケージ管理を行うためのツールが必要になります。
この手のいわゆるパッケージ管理ツールは gb や gom が有名のようですが、今回は試してみて便利だった glide を採用することにしました。
glide 使い方
glide コマンド自体をインストールします。
$ go get github.com/Masterminds/glide $ go install github.com/Masterminds/glide
glide コマンドで依存パッケージをインストールします。
$ glide create $ glide install
これで、対象ディレクトリに glide.yaml と glide.lock ができます。
また、vendor ディレクトリも作成され、その中に依存するパッケージが格納されます。
glide.yaml と glide.lock だけをリポジトリに格納して、vendor ディレクトリは Git で Ignore 指定してください。
このリポジトリを初めて使う方は、glide コマンド自体をインストールした後に glide install
をすれば、vendor ディレクトリに依存パッケージがインストールされます。
まとめ
私は普段 Ruby で開発をしていて Bundler を使っているのですが、 コマンド体系や構成ファイルがそれと似ており、違和感なく使うことができました。
もう一つの候補であった gom と比べると、コマンド体系や YAML 書式がスッキリしているのもイイ感じで、ドキュメントがよく整備されているのもあって、glide を正式導入することにしました。
逆に言えば、gom は Bundler によく似たコマンド体系や YAML 書式を持っているので、かなり複雑な設定もできそうです(Go 標準のツールがシンプルで強力なので複雑な設定自体が不要な気もしますが)。
glide や gom 以外のパッケージ管理を選択されるのも良いかと思いますが、現時点では glide が個人的に最もオススメできるパッケージ管理ツールです。
glide で快適な Go 開発を!
お知らせ
ねこじゃらしでは Go に限らず Ruby や JavaScript のプログラマ、UI/UX デザイナを募集しております。
ご興味をお持ちいただけましたら、以下のリンクからお問い合わせください。