しばらく、mono.kmc.gr.jp以下が見えたり見えなかったりするかも知れません。route477.netもです。

--format-executableは、gemに実行ファイルが含まれていたときに、そのファイル名をリネームするための指定。 上の設定だと、例えばramazeをインストールしたときに、1.8のは「ramaze」で、1.9のは「ramaze-1.9」で起動できるようになる。

いちいち「sudo gem install hoge」して「gem-1.9 install hoge」するのはめんどいなーと思い始めたので、 両方に一気にgemをインストールするコマンドを書いた。 「gem-1.9」というコマンド名は適当に変えてね。

Rubyスクリプトを書くときはたいてい「require 'rubygems'」から始めるわけですが、 RubyGemsが標準添付になった1.9系ではもうこれ不要なんですよね。

なので、未来を見越して、今日から「require 'rubygems'」を手書きするのは止めることにしました。

シェルの設定で

export RUBYOPT="rubygems"

と書いておけば、rubyの起動時にRubyGemsを読み込むオプションが指定されたと見なされるので、 1.8系でもいちいち「require 'rubygems'」と書かなくて良くなります。楽ちんですね！

ちなみに上の設定は、rubyの起動時に「-rubygems」というオプションを指定するのと同じことになります。 え、そんなオプションあったっけって？ruby -hを読むと、「-r<ライブラリ名>」は「require '<ライブラリ名>'」 と同じことが分かります。ということは「-rubygems」は「require 'ubygems'」と同じはず…。 そこで /usr/lib/ruby/site_ruby/1.8/ を見ると、なんと「ubygems.rb」が。中身は、単に require 'rubygems'しているだけです。