gomを使ってGoのパッケージをGemfileライクに管理して使う

Goを書く上でいろんなパッケージをインストールすることってあると思います。
で、go get hogehogeを毎回手動でインストールするのもツライですよね。僕はツライです。

便利なものありました。gomです。bundlerのGo版ってところです。
世の中には便利なものがたくさんあります。便利なものはどんどん使いましょう。

セットアップ

$GOPATHが設定されている前提ですすめていきます。

% go get github.com/mattn/gom

Gomfileをつくる

gomを使うにはgemと同様にGomfileをつくります。

% gom gen gomfile

すると ./Gomfile が生成されます。 中身は下記のように書いてみます。

gom 'github.com/go-martini/martini'
gom 'github.com/martini-contrib/render'

gom 'github.com/coopernurse/gorp'
group :test do
  gom 'github.com/mattn/go-sqlite3'
end

gom 'github.com/gorilla/websocket'

gomでインストール

Gomfileができたら早速インストールしてみましょう。

% gom install

すると _vendor というディレクトリができてパッケージがインストールされます。

groupごとのインストール

group管理もできます。例えばgroup :testの場合、

% gom -test install

でインストールされます。とても簡単です。

gomでインストールされたものを使う

gom コマンドを使うことで _vendor にインストールされたものを使えます。

% gom run main.go

Martiniの場合はginとか使ってWeb Serverを立ち上げてlive reloadできます。

ginの使い方は通常は

% gin

で使いますが、gomでインストールしたパッケージを使いたい場合は

% gom exec gin

で使うことができます。

gomでテストを走らせる

これも簡単です。

% gom test -v

でテストを走らせることができます。

gom便利!

といった感じで便利すぎるのでどんどん使っていきましょう!