Mac使いがRuby1.9とRails3のプロジェクトに参戦したときの話
久しぶりのプログラミング仕事で、Railsを触っている。
以前のプロジェクトでRails3には慣れたけど、手元のRubyはバージョン1.8.7のままだった。
今回は1.9.3を使うっていうことなので、環境の整備をした次第。
新しいrubyをインストールしてみる、、、成功。
rvm install ruby-1.9.3-p194
次にgit clone してきたRails3の新しいプロジェクトで
bundle install
を実行したらエラー発生
ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault
だそうな。。
まぁ、そうだよね、世の中甘くないよね。
そんな僕に、Google先生からのオススメはこちら↓
RVM vs. MacPorts and the BUG Segmentation fault
参考ページを見ながら、以下の手順を実行する。
(1)$HOME/.rvmrc に以下を追加して、sourceしておく
export CFLAGS="-O2 -arch x86_64" export LDFLAGS="-L/opt/local/lib" export CPPFLAGS="-I/opt/local/include"
(2)古いrubyも再インストールしておく
rvm reinstall 1.8.7 --with-openssl-dir=/opt/local
(3)本命の新しいrubyをインストールしてみる...が。
sudo port install libyaml rvm reinstall ruby-1.9.3-p194 --with-opt-dir=/opt/local
ここでcurlの証明書エラーみたいのが発生。
curl: (60) SSL certificate problem, verify that the CA cert is OK. D
このエラーに対するGoogle先生のオススメはこちら↓
Stack Overflow
Curl Certificate Error when Using RVM to install Ruby 1.9.2
このコマンドを打てばお終い、と↓
curl -L get.rvm.io | bash -s stable
で、さっきの新しいrubyのインストールをやり直し
rvm reinstall ruby-1.9.3-p194 --with-opt-dir=/opt/local
今度は成功!
次はbundle installのやり直し、、、だが、しかし。
ZenTest requires RubyGems version ~> 1.8. Try 'gem update --system' to update RubyGems itself.
gemが古いんだと。久しぶりだといろいろ出るなぁ。。
Google先生曰く↓
gem update がうまくいかないときのメモ
以下のコマンドでgemをupdate
gem install rubygems-update update_rubygems
gemのupdateが終わったらbundle installの3度目の正直、、、失敗。
Installing capybara-webkit (0.12.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
だってさ。
Installing Qt and compiling capybara webkit
↑ここを参考にこちら↓を実行
sudo port install qt4-mac-devel
かーらーのー、本日4度目の bundle install を実行した結果は...
Your bundle is complete!
よしよし、一件落着。