macのruby on railsの環境構築でエラーが出る
ubuntuにrailsの環境揃えたけど、開発をubuntuでやるのはめんどくさいので、macに環境を揃えてから転送しようとして詰まったので、まとめ。
環境
mac os x 10.8.4
homebrewインストール済み
手順1:rubyのインストール前準備
macには最初からrubyが入ってるらしいけど、バージョンが古いらしいので、アップデートする。
まずはhomebrewを使ってrbenvとruby-buildなるものをインストール。
これはわざわざインストールやアンインストールでrubyのバージョンを変えなくても、コマンド一発で好きなバージョンにしてくれるというものらしい。ありがたい。
$ brew install rbenv $ brew install ruby-build
そしてパスを通して
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
おまじない
$ . ~/.bash_profile
手順2:rubyのインストール
さっそくrubyのインストール。
インストールできるrubyのバージョン一覧をずらずらと出す。
$ rbenv install -l
今回は2.0をのぞいた今の所の最新っぽいruby 1.9.3p327 をインストールする。
$ rbenv install 1.9.3-p327
ruby系のインストールはどれも結構時間がかかって 不安になる。
終わったらコマンドで、このバージョンのrubyをmacで使うrubyにするよ!というコマンドを打つ。
$ rbenv global 1.9.3-p327
バージョン確認するために「$ ruby -v」をしてみたけど、なぜか反映されてなくて焦ったけど、「$ . ~/.bash_profile 」をしたら直りました。
手順3:ruby on railsのインストール
いよいよrailsのインストール。
$ gem install rails
これも時間がかかるけど終了をまって、意気揚々とバージョンの確認をしてみると、以下のエラーに見舞われた。
$ rails -v /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:230:in `activate': can't activate rack (~> 1.4.5, runtime) for ["actionpack-3.2.13", "railties-3.2.13"], already activated rack-1.5.2 for ["rack-ssl-1.3.3", "railties-3.2.13"] (Gem::LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:246:in `activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `each' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:245:in `activate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:1056:in `gem' from /usr/bin/rails:18
エラー文を見てると、どうも1.8のrubyをよびにいっているように見える。
そして、rack-1.4.5が起動できないよ!rack-1.5.2がすでに動いてるからね!と言われているようなので、rackなるもののバージョンを下げてみる事に。
$ gem uninstall rack -v 1.5.2 Successfully uninstalled rack-1.5.2 $ gem install rack -v 1.4.5 Successfully installed rack-1.4.5
この後も何度かバージョンを確認してもさっきのエラーが出続けていたのだけど、「$ source ~/.bash_profile 」と「$ rbenv rehash」をした後にエラーが消えていたので、インストールを有効に出来ていなかったという事らしい。
とりあえずエラーは出なくなったのでよしとする。
$ rails -v Rails 3.2.13
長くなったので、アプリケーションの作成とapacheと連携してブラウザで環境の確認は次の記事にする