トップ «前の日記(2008-12-15) 最新 次の日記(2008-12-22)» 編集

Route 477

過去の日記


2008-12-18

[ruby] --

この記事はobsoleteです
Github上でのgem生成機能は終了しました。rubygems.orgを使いましょう。

GitHubに自作gemを置く方法

Rubyでライブラリをインストールする手段といえばgemコマンドなわけだけど、

$ gem sources -a http://gems.github.com

としておくとgithubで公開されているライブラリをgem installでインストールできるようになるのはご存じだろうか?

例えば上の状態で

$ gem install yhara-ruby-sl

とすると、http://github.com/yhara/ruby-sl/tree/master のgemがインストールされる {[fn "されない場合はrubygemsのバージョンが古いかもしれない。とりあえず1.3以降なら大丈夫だと思う。"}。「(ユーザ名)-(プロジェクト名)」がgem名になるわけだ。

だがgithubにプロジェクトを作るだけでgemが作られるわけではない。現在公開されているgemは以下のページで一覧できる。

githubでgemを公開する方法

githubにgemを自動生成させるには、以下のことをすればいい。

  1. 自分のプロジェクトのページで「edit」を押して、設定の「RubyGem:」という欄にチェックを入れる。
  2. gemspecファイルをコミットする。
  3. しばらく待つと、gemが公開される。

もう少し詳しく解説しよう。

gemspecファイルの作成

2.のgemspecファイルは、例えば以下のようなものだ。

これは必ずしも手書きする必要はなく、例えばfork版cutagemを「gem install genki-cutagem」で インストールしておくと、

$ cutagem プロジェクト名

としたときに、自動的にRakefileが生成され、「rake gemspec」でgemspecファイルを作れるようになる(Rakeが入っていない人はgem install rake)。

ビルドできるか確認

gemspecファイルをコミットしてpushする前に、

gem build プロジェクト名.gemspec

でちゃんとgemができるかどうか確認しておこう。いったんgemspecファイルをpushしてしまうと、バージョン番号などどこかを 修正しないと新しくgemがビルドされない。

またgemspecファイルをpushしてから新しいバージョンがインストールできるようになるまで、10分かそこらの時間がかかる (http://gems.github.com/list.html に反映されるのはさらに後のようだ)。

参考

あ、最初の説明で実際に「gem install yhara-ruby-sl」としてしまった人には、くだらないライブラリをインストールさせてしまって申し訳ない。 ruby-slの使い方は以下のようになる。

$ irb -r rubygems         
irb(main):001:0> require 'sl'
=> true
irb(main):002:0> SL.run!

[web] うごメモはてな

#しまった、二重になってしまった (tDiaryのトラックバックって、相手先URLを入れとかないと怒られるのね)。

[web] うごメモはてな

任天堂ときたかー。

どうも作品へのリンクを張ると自動再生されてしまう仕様らしいので、音付きの物は避けた。

[esobook] 献本のメールを書くなどした

なんか何冊か編集部経由で献本できるそうなので、献本先の人にメールを書くなどした。

「本の内容に影響を与えた人」というテーマで選んだので、突然メールが来てびっくりした人もいると思う(笑)。


過去の日記