Githubで私的に公開している野良gemをgem installコマンドでインストールする方法

gitリポジトリgemsディレクトリを作ってそこにビルド済みのxxx.gemファイルを格納しておけば、gem installでインストールできるようになる。

たとえば、自分がforkしているgistyを例にすると、プロジェクトのルートの直下にgemsディレクトリを作成して、そこにgem buildで作成したxxx.gemファイルを格納しておく。

そうすると、以下のようにgit installコマンドで直接インストールできる。

$ gem install --source http://github.com/snaka/gisty/raw/master/ gisty

このとき、--sourcegithubで生(raw)のファイルが公開されているURLの一部を指定してあげるのがミソ。

gemコマンドでは、--sourceオプションで指定されたURL に "gems/" と gem名 を付加することでgemをダウンロードするURLを生成しているらしい。
そこで、gemファイルが公開されているURLから、gem名, パス名"gems/" を取り除いたURLを--sourceに指定してあげることで gemコマンドでダウンロードすることができる。
たとえば、上記 fork版gisty のgemファイルが公開されている完全なURLは、

http://github.com/snaka/gisty/raw/master/<b>gems/gisty-0.0.12.gem</b>

なので、--sourceに指定するURLは

http://github.com/snaka/gisty/raw/master/

という具合。