まずビルドする前に、readline の開発用ライブラリを入れておくこと。
これを忘れると irb のラインエディタが悲しいことになる。
2013-03-27 現在の Cygwin には readline-devel というパッケージがないのだが、readline パッケージがそれに当る模様(category が Devel になっている)。
rbenv に管理させる ruby を手動でビルド&インストールするには ~/.rbenv/versions/ 以下に配置した適当な名前のフォルダ(通常はバージョン名にする)にインストールする必要がある。これは configure & make の際、--prefix オプションを用いることで行う。
例えば、ruby-1.9.3-p286 を rbenv に管理させたいなら以下のようにする。
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz
tar zxvf ruby-1.9.3-p286.tar.gz
cd ruby-1.9.3-p286
./configure --prefix=$HOME/.rbenv/versions/1.9.3-p286
make install
rbenv rehash
最後に行っている rehash は rbenv 管理下にある各バージョンの ruby で利用出来る各種コマンドへのラッパースクリプトを ~/.rbenv/shims/ 以下に生成する機能。
これをやっておかないと、例えば特定のバージョン以降の ruby で追加されたコマンドだとか gems 等で後からインストールされたコマンド等があった場合に、それらのコマンドが利用出来ない。
このため、手動で rbenv に ruby をインストールした場合や、コマンド付きの gem をインストールした場合には、適宜 rehash を行う必要がある。
インストールされているすべてのバージョンの RubyGems にインストールしておく必要があるので若干面倒だが、gem install 時に自動で rvenv rehash してくれる
rbenv-rehash って gem もあるらしい。インストールは以下のようにすれば良い。
gem install rbenv-rehash
インストールされているすべてのバージョンの RubyGems に一括でインストールするなら以下のようにすれば良いだろう。
for i in system $(rbenv versions --bare); do rbenv shell $i; rbenv version; gem install rbenv-rehash; done
Ruby 1.9 では不要だが、1.8 以前のバージョンでは、
RubyGems の install も必要かもしれない。
RubyGems をインストールするには、shell サブコマンドでターゲットとする Ruby を指定して、RubyGems のソースディレクトリで setup.rb スクリプトを実行すれば良い。例えば ruby-1.8.7-p371 と rubygems-1.8.24 をインストールする場合以下のようになる。
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p371.tar.gz
tar zxvf ruby-1.8.7-p371.tar.gz
cd ruby-1.8.7-p371
./configure --prefix=$HOME/.rbenv/versions/1.8.7-p371
make
make install
rbenv rehash
cd /tmp
wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
tar zxvf rubygems-1.8.24.tgz
cd rubygems-1.8.24
rbenv shell 1.8.7-p371
ruby setup.rb
rbenv rehash