IS01にポータブルえせ開発環境を構築(その3) - arm版rubyビルド環境の構築のための準備作業

前回AndroidJavaScriptが実行できる環境を構築した。やっぱり本格的なスクリプト言語の環境が欲しいですな。というわけで、ここを参考にAndroidruby環境を構築する。

IS01の石は、armなので、arm用のrubyをビルドすればよい。
手順的には、以下のようになる。ちなみに母艦は、Ubuntu 10.4だ。

  1. 母艦にruby 1.9.2のインストール
  2. 母艦にAndroid NDKのインストール
  3. Android用にrubyをビルド

母艦にruby 1.9.2のインストール

ruby 1.9.2をクロスビルドするためには、そのホストでruby 1.9.2がインストールされている必要があるとのこと。(ビルド中に実行されるrubyスクリプトが1.9.2用になっているため。)

私の環境には、既にruby 1.8.7がインストール済みだ。

$ which ruby
/usr/bin/ruby
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]

ruby 1.8.7の環境は置いておきたい、アプリケーションの別バージョンの共存は、テキーラを飲み過ぎた翌朝の二日酔いの如く、頭が痛い問題だ。
しかし、私達には、rvmがある。
rvmとは、複数バージョンのrubyを切り替えて使えるようにするアプリケーションである。
Linuxの場合、update-alternativesというものがあり、それと同じようなものだけれど、ruby専用のバージョン管理なので、いろいろと便利だ。
例えば、rvmコマンドにバージョンを指定するだけで、インストールできたり、切り替えたりすることができる。それに付随して、gemも切り替わってくれるので、便利この上ない。

では、ここを参考にインストールしてみよう。

インストールは以下のコマンドを打つだけだ。但し、curlとgitを入れておく必要がある。

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

インストールが終わったら、.bashrcにでも以下の設定を追加しておこう。

if [[ -s /home/ユーザ名/.rvm/scripts/rvm ]] ; then source /home/ユーザ名/.rvm/scripts/rvm ; fi

※ユーザ名は、自分のログイン名を入れること。
このrvmは、自分のホームディレクトリの.rvm/以下にもろもろ(rubyバイナリやgem等)を配置してくれる。/usr等のディレクトリが汚れ無くてよいね!!

rvmが入ったら、rvmコマンドでrubyのインストールだ。

$ rvm install 1.9.2

当たり前だけど、ソースを落としてきて、ビルドするので若干時間がかかる。

ビルドできたら、以下のコマンドで、そのバージョンをactiveなrubyに設定できる。

$ rvm 1.9.2

見てみて、凄いでしょ。

tmori@signify:~$ which ruby irb rake gem
/home/tmori/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
/home/tmori/.rvm/rubies/ruby-1.9.2-p0/bin/irb
/home/tmori/.rvm/gems/ruby-1.9.2-p0/bin/rake
/home/tmori/.rvm/rubies/ruby-1.9.2-p0/bin/gem

シェルを立ち上げる度に、activeなrubyを指定するのはめんどくさいので、以下のコマンドでdefault指定をしてしまおう。

$ rvm 1.9.2 --default

ちなみに、そのバージョンを削除する場合は、以下のコマンド。

$ rvm remove 1.9.2