エモトです。

るびきちさん
ありがとうございます。

> --program-suffixを指定しています。
> 僕の場合はさらに--prefixを指定して、/pkgsディレクトリ以下にインストー
ルしています。
> /pkgsにはいろいろなプログラムをインストールしています。
> こうしておかないと古いRubyを使おうと思ってもライブラリが新しいのに上書き
> されてしまいます。
>
> そして、
>
> cd /usr/local/bin; ln -s /pkgs/ruby18/bin/ruby ruby18
> のようにシンボリックリンクを張っています。
> # ruby-1.8.7-p17
> ./configure  --prefix=/pkgs/ruby-1.8.7-p17 --program-suffix=187p17
> # stable snapshot
> ./configure  --prefix=/pkgs/ruby18 --program-suffix=18

これで
ruby コマンドと
ruby18 コマンドの両方が使えるという事ですよね。

同様に
irb
や
irb18
というように、シンボリックリンクを張っていますか?
※ ご紹介いただいた、xmpfilter というのを知りませんでした。
それを使用すればirbへのシンボリックリンクは要らないという事
でしょうか?

>
> ただ、site_rubyやgemsディレクトリも別個になってしまうので
> cd /pkgs/ruby18/lib/ruby
> rm -rf gems site_ruby
> ln -s /usr/local/lib/ruby/site_ruby/
> ln -s /usr/local/lib/ruby/gems/
>
> もやっています。今なら
> ln -s /usr/local/lib/ruby/vendor_ruby/
> も必要でしょうか。

勉強不足なのですが、
それぞれのディレクトリの意味を完全に理解していません。
それらはバージョン依存しない物という事ですね。
※ ディレクトリの意味や概要/役割が知りたいです。参考サイトありますか?

> configureオプションに --with-sitedir や --with-vendordir があるのに、
> --with-gemdir がないのが不便です。あればいいのに…

なるほど、という事は、
site_rubyやgems、vendor_rubyのディレクトリを共有しようとした場合に

現状はオプションを指定すれば、
ln -s /usr/local/lib/ruby/site_ruby/
ln -s /usr/local/lib/ruby/vendor_ruby/
は不要だけど、
ln -s /usr/local/lib/ruby/gems/
はオプションでは無理なので、シンボリックリンクで対応
という理解で良いでしょうか。