railsの環境構築してる際、rubyの1.9系と1.8系の共存で割と手こずったので残しておきます。railsというより、rubyですね。

rubyのバージョン管理は、rvmを使用します。rvmとはRuby Version Managerの略で、複数のRubyの処理系をインストール、管理することができるツールです。普通はこれをインストールし、

rvm install 1.9.3
rvm install 1.8.7

rvm use 1.9.3 #1.9使用
rvm use 1.8.7 #1.8使用

とすれば終了なのですが、Lionの場合はそうはいきません。gccがllvmになり、rubyのコンパイルができなくなってしまったため、最新バージョンの1.9.3しかインストールできません。しかし現在、システムにメインで入っているrubyが1.8なので、rvmを使用せず、メインに戻してやれば1.8を使用することができます。それがrvm systemです。よって、

rvm install 1.9.3

rvm use 1.9.3 #1.9使用
rvm system #1.8使用

と使い分けられます。rvm上で1.8も1.9も管理したい場合はllvmでない、gccをmakeし、そこのパスを指定してあげれば旧rubyもコンパイルできるようになるようです。ただ、今回はさっさと環境構築したかったので、その方法は取りませんでした。


rvmrc

rvm下にrailsの1.9.2をインストールしたら、次はrvmrcを作ります。内容は簡単。
rvm 1.9.2
これだけ。これをrailsのワークスペースのrootに置けば、railsを使用する際はrubyのバージョンが1.9.2になります。そこ以外ではsystem(1.8)になります。

1.9.2を使用したい場合

1.9系は問題なくインストールできるのかと思いましたが、甘かったです。こちらもgccの関係でエラーが出ます。なので、ここではコンパイルにclangを使用することで解決します。

rvm install ruby 1.9.2 --with-gcc=clang

これと同じ方法で1.8もインストールできないかと思ったのですが、変わらずコンパイルエラーが起きてました。


で、当然エラーでた。railsコマンドが一切実行できない。-vですら。ということでrails入れ直し。できた。多分rails->rubyの順番でやったからかも

rails new してrails s でエラー。sqlite3が入ってなかった。gem install sqlite3。成功。