Rubyを最新版にしようとしたが、rbenv(複数のバージョンのRubyを管理するツール)でエラーが発生。rbenv installコマンドが実行できない。いろいろ調べてみたが、原因が分からないので、apt-getコマンドでrbenvとrubyをいったん削除。GitHubから最新版のrbenvをインストールしてみた。
$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
インストールが完了したら、ホームディレクトリの.profileファイルにパスや初期化コマンドなどを書き込んでおく。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile $ echo 'eval "$(rbenv init -)"' >> ~/.profile
zshを使っている場合は、上記のコマンド中の~/.profileを~/.zshrcに置き換えて実行する。シェルを再起動させると、設定が反映される。
$ exec $SHELL -l
続いて、ruby-buildのインストール。このツールは、rbenv installコマンドの実行時に自動的に呼び出されることになっているので、インストールは必須。
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Rubyのインストール
例えばRubyの最新版が1.9.3-p362で、このバージョンをインストールしたい場合、コマンドは次のようになる。Ruby on Railsのインストールにzlibやlibsslが必要なので、Rubyのコンパイルの前にインストールしておく。
$ sudo apt-get install zlib1g-dev libssl-dev $ rbenv install 1.9.3-p362
このバージョンをRuby on Railsで利用することになるので、globalの設定もここで行っておく。
$ rbenv global 1.9.3-p362 $ rbenv rehash
最後に、rubyコマンドに-vオプションをつけて実行。Rubyのバージョンが正しく表示されているかどうか確認しておく。
$ ruby -v ruby 1.9.3-p362 (2012-12-25 revision 38607) [x86_64-linux]
Ruby on Railsのインストールと設定
UbuntuのリポジトリからインストールしたRuby on Railsをいったん削除。RubyGemsを使って最新版のRailsを再インストールする。
$ gem install -r rails
インストールの途中や最後に、file ‘lib’ not というメッセージが出る場合は、RubyGemsでRDocをインストールしておく。
$ gem install rdoc
下記のコマンドで、最新バージョンのRuby on Railsがインストールされたかどうかを確認する。
$ rails -v
最後に、Ruby on Railsで作ったWebアプリが正常に動作するかどうかのテストしておく。ホームフォルダ内にrailsappフォルダを作り、そこにtestという名前でテスト用のWebアプリを作ってみた。
$ mkdir railsapp $ cd railsapp $ rails new test
RailsのデフォルトのデータベースはSQLite3(昔はMySQLがデフォルトだった)だが、前もってSQLite3と関連ライブラリがインストールされていないとエラーになる。そのときは、次のコマンドを順番に実行する。
$ sudo apt-get install sqlite3 libsqlite3-dev $ bundle install
問題がなければ、railsappフォルダ内にtestというフォルダができる。このフォルダに移動して、サーバーを起動する。
$ cd test $ rails server
もし、ここでエラーが発生したなら、メッセージをよく読んで対処する。今回の場合、Javascript RuntimeとExecjsがないというメッセージだったので、testフォルダの中のGemfileをテキストエディタで開き、18行目あたりにある、下記の行の#マークを削除。
# gem 'therubyracer', :platforms => :ruby
続いて、行末に次の一行を追加。
gem 'execjs'
編集が終わったら保存して、次のコマンドを実行。
$ bundle install
バンドルのインストールが完了したら、もう一度rails serverコマンドを実行して、ブラウザ上からhttp://localhost:3000にアクセス。お馴染みのページが表示されていたら、サーバーは無事に立ち上がったということになる。

rbenvを使わないシンプルな方法
複数のバージョンのRubyを切り替えて使う必要がない場合は、rbenvを使わず、Ruby公式ページからソースファイルをダウンロードして、展開後に、makeコマンドでコンパイルしてインストールするという方法もある。
ダウンロードした展開しソースファイル(tar.bz2形式の場合)を/usr/local/srcに展開し、コンパイル後、/usr/local以下にインストールするとき、コマンドラインの流れは以下のとおり。なお、Rubyをコンパイルするためには、LibYAMLというライブラリが必要なので、予め公式サイトから最新版をダウンロードしておく。
$ sudo tar zxvf yaml-0.14.tar.gz -C /usr/local/src $ sudo tar jxvf ruby-1.9.3-p362.tar.bz2 -C /usr/local/src $ cd /usr/local/src/yaml-0.14 $ ./configure -prefix=/usr/local $ make $ make install $ cd /usr/local/src/ruby-1.9.3-p362 $ ./configure -prefix=/usr/local $ make $ make install
ここから先は、前述のとおり、すべてRubyGemsがやってくれる。なお、複数のRubyのバージョンを管理するツールとしては、RVMもある。