かけるヒトからできるヒト

プログラムを書ける人からプログラムが出来る人へなるために個人的にまとめるブログ

macのruby on railsの環境構築でエラーが出る

ubunturailsの環境揃えたけど、開発を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と連携してブラウザで環境の確認は次の記事にする