マックのrubyを、デフォルトで入っている1.8.2から1.8.4にバージョンアップした。その際に、ちょっと手間取ったところがあったのでメモしておく。
以下のページからruby 1.8.4 をダウンロード。
ここで普通に、./configure でインストールしたら、後々Railsを立ち上げる時に、「dyld: NSLinkModule() error」というエラーに見舞われた。ググルと同じようなエラーを経験している方の回避策を発見。
tsimoの日記 - Rubyをソースコードからコンパイルする
こちらのページでも、readlineのインストールが必要と書かれていますね。
A::Watch - OSXにRuby on Rails環境をインストールする方法
これらを参考に
wget ftp://ftp.gnu.org/gnu/readline/readline-5.1.tar.gz tar xzvf readline-5.1.tar.gz cd readline-5.1 ./configure --prefix=/usr/local make make install
この後に、rubyをコンパイル
tar xzvf ruby-1.8.4.tar.gz cd ruby-1.8.4 ./configure --with-readline-dir=/usr/local make make install
ソースからコンパイルをすると、デフォルトでは /usr/local/bin にインストールされるらしい。既存の環境も、とりあえず残しておきたかったので、/usr/bin のrubyをリネームして、シンボリックリンクを張ることにする。
mv /usr/bin/ruby /usr/bin/ruby1.8.2 ln -s /usr/local/bin/ruby /usr/bin/ruby mv /usr/lib/ruby /usr/lib/ruby1.8.2 ln -s /usr/local/lib/ruby /usr/lib/ruby
RubyGems とかも再インストールになるのかな?と以下から、最新をゲット。
tar xvfz rubygems-0.9.0.tgz cd rubygems-0.9.0 ruby setup.rb mv /usr/bin/gem /usr/bin/gem.old ln -s /usr/local/bin/gem /usr/bin/gem
Rails も再インストール。1.1.2 から1.1.4 になりました。
gem install rails mv /usr/bin/rails /usr/bin/rails1.1.2 ln -s /usr/local/bin/rails /usr/bin/rails
あとは、既存のプロジェクトの、config/environment.rb のRAILS_GEM_VERSION をRAILS_GEM_VERSION = '1.1.4'に変更したら、既存のRailsアプリケーションが、Ruby1.8.4 + Rails 1.1.4 の環境で走るようになった。

ブックマーク & Twitter & はてなスター
コメント