Ruby 2.0.0-p0 ソースインストール!
Updated:
普段、当方はメインで使用する環境の Ruby はソースをビルドしてインストールしています。
(サブで使用するバージョンは rbenv
を使用しています)
過去にも同様の記事は公開してますが、 Ruby が 2.0.0 とメジャーバージョンアップ(グレードアップ?)したので、初心に戻って Ruby をソースをビルドしてインストール手順を記録しておきます。
0. 前提条件
- Linux Mint 14 Nadia (64bit) での作業を想定。
Linux ディストリビューションやバージョンは、特に問わないはず。Windows は未確認。 - Ruby 1.9.3-p392 が既にソースビルドによりインストール済み。
(インストール済みのバージョンは問わない)
当然、 Ruby 未インストールならそれでもよいが、必要なパッケージ(yaml 等)があらかじめインストールされていないと、インストールには成功しても機能しないものがあるかも知れない。 - ビルド・インストール作業は一般ユーザで行う。(スーパーユーザになって作業してもよい)
1. Ruby 旧バージョンのアンインストール
ソースをビルドしてインストールしている古いバージョンの Ruby (今回の場合 1.9.3-p392)をアンインストールする。
(当方の場合、ソースは /usr/local/src
に展開している。)
$ cd /usr/local/src/ruby-1.9.3-p392
$ cat .installed.list | sudo xargs rm
$ cd ..
$ sudo rm -rf ruby-1.9.3-p392
ちなみに、上記を説明すると以下のとおり。
- インストールしたファイルリストが
.installed.list
に書かれている。 xargs rm
で、リストの各行にrm
コマンドを適用する。/usr/local/bin
などがディレクトリごと消えるとまずいので、rm
コマンドに-r
オプションは付けない。.installed.list
が存在しなかったり空の場合は、./configure
,make
,make install
をやり直す。
2. Ruby-2.0.0-p0 のインストール
以下のようにしてインストールする。
アーカイブファイルの配置先は /usr/local/src
ディレクトリとしている。
後は、展開して、いつものように ./configure
, make
, make install
しているだけ。
$ sudo wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
$ sudo tar zxvf ruby-2.0.0-p0.tar.gz
$ cd ruby-2.0.0-p0
$ sudo ./configure
$ sudo make
$ sudo make install
3. インストール確認
以下のようにバージョンを表示させてみて、インストールできているか確認する。
$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
$ gem -v
2.0.0
4. 動作確認
irb で動作確認するなり、スクリプトファイルを作成して動作確認するなりしてみる。
(ここでは、特に紹介しない)
5. ベンチマークテスト
Ruby 1.9.3-p392 でのベンチマークは残念がら取り忘れた。
ほんの少し間に Ruby 1.9.3-p385 で取ったベンチマークと Ruby 2.0.0-p0 でのベンチマークを比較してみた。(おそらく条件(環境)は同じのはず)
使用したスクリプトは、以前「* Ruby - 処理実行時間計測! - mk-mode BLOG」で紹介した階乗を計算させるスクリプト。
ちなみに、以下では同じスクリプを10回程度実行して、平均的な値のものを抽出して表示している。
$ ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
$ ruby benchmark.rb
user system total real
0.730000 0.040000 0.770000 ( 0.762640)
0.740000 0.020000 0.760000 ( 0.766370)
0.800000 0.020000 0.820000 ( 0.824205)
$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
$ ruby benchmark.rb
user system total real
0.800000 0.070000 0.870000 ( 0.877308)
0.820000 0.010000 0.830000 ( 0.823678)
0.930000 0.000000 0.930000 ( 0.925303)
Ruby 2.0.0-p0 の方が若干遅くなっているように見える。(たまたま階乗計算だったからなのかも知れませんが、詳細は未確認。)
※Ruby 2.0.0-p0 のインストール直前に 1.9.3-p392 でもベンチマークをとっておけばよかったと後悔。
6. 参考サイト
ソースビルドについての参考ではなく、 Ruby 2.0.0 リリースについて参考にしたサイト。
いつものように、特に問題なくインストールできました。
後は、既存のスクリプトが正常に動作するかを確認するだけです。
問題なければ、または、問題があっても解決策を見出だせるようになれば、サーバ環境へも Ruby 2.0.0 を導入していこうかと考えている次第です。
色々と新機能が搭載されていますが、当方は、デフォルトエンコードが UTF-8
になったり、 require
が高速になったり、 __dir__
が使えるようになったり、キーワード引数が使えるようになったり、という機能が特に嬉しい部分であります。
以上。
Comments