2012-01-28
Mac OS X(Lion)にRuby on Rails 3.2の開発環境を構築する
人によって様々な方法があるため、いろいろ試したり調べてみたのですが...
自分としては下記の方法が一番良いと思いました。
・ソフトウエア、ライブラリは基本的にHomebrewでパッケージ管理する ・RubyおよびRailsはrbenvで管理する
「Homebrew」を使う理由は、依存関係にあるソフトウェアが既に導入されていた場合、タブってインストールされないのでMacportsよりインストールやアップデート効率が非常に良い点があげられます。
最近、MacportsよりHomebrewの人気が高くなっているのはこれらが理由のようです。
Rubyの管理には「rbenv」を選択しました。「最近評判が良くて、RVMから乗り換える人が多い」「Homebrewで簡単にインストールできる」「シェル環境を汚さない」というのが理由です。もちろんRVMに問題があるわけでは無いので、どちらを使っても複数のRubyバージョンの切り替えが可能です。
※参考 rbenvとRVM との違い
Homebrewを利用しますので予めインストールしておいてください。
rbenvをインストールする。
$ brew install rbenv $ brew install ruby-build
.bash_profileに下記を追加
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bash_profile $ echo 'eval "$(rbenv init -)"' >> .bash_profile $ source .bash_profile
irbコマンドを便利に使うためにreadlineをインストールしておく
$ brew install readline $ brew link readline
最新のXcode4.2にはgccが含まれていないので、別途gccをインストールします。
osx-gcc-installerからOS X 10.7 Lion: GCC-10.7.pkgをダウンロードしてインストール。
.bash_profileに下記を追加
$ echo 'export CC=gcc-4.2"' >> .bash_profile $ source .bash_profile
$ rbenv install
Rubyをインストール。本来は「rbenv install 1.9.3-p0」だけでインストールできるはずなのですが、どうしてもreadline関係のエラーが出てしまうので、下記のようにオプションを追加してビルドします。
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p0
現在、デフォルトになっているRubyを確認する。「system (set by /Users/*****/.rbenv/version)」とかになっている場合は、OSX標準のRuby1.8.7となっています。
$ rbenv version
rbenvでインストールしたRubyのバージョンを確認。複数入れると下記のようにリストで表示されます。
$ rbenv versions 1.9.2-p290 1.9.3-p0
使用するRubyを指定して反映させる
$ rbenv global 1.9.3-p0 $ rbenv rehash $ ruby -v ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
ここまでの作業でRubyが起動できるようになりました。
【番外編】
◎「最新版のRubyしか使わないよ」という方は、上記の作業を行わなくても下記のコマンドだけでRubyの最新安定版がインストールすることがでできます。お試しでRubyを触ってみたい場合はこちらの方が簡単です。
$ brew install ruby バージョン確認 $ brew info ruby
◎rbenvで入れたRubyからシステム標準のRubyに戻す場合
$ rbenv global system $ rbenv rehash $ ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
◎不要なバージョンのRubyを削除する。現在のところ削除するためのコマンドが見当たらないので、直接消すしか方法が無いようです。
$ cd $ cd .rbenv/versions/ $ ls 1.9.2-p290 1.9.3-p0 $ rm -rf 1.9.2-p290/ $ rbenv versions * 1.9.3-p0 (set by /Users/hidde8a/.rbenv/version)
【Ruby on Rails 3.2をインストール】
依存関係にあるgemパッケージは、Rails3で公式に採用されたBundlerを使って管理していくことにします。
$ sudo gem update --system $ sudo gem update rake
Ruby on Rails 3.2のインストール
$ sudo gem install rails --no-ri --no-rdoc
node.jsのインストール。Railsアプリを生成する時に使われます。
$ brew install node
Rails3.2とBundlerが入っていることを確認
$ gem list *** LOCAL GEMS *** actionmailer (3.2.0) actionpack (3.2.0) activemodel (3.2.0) activerecord (3.2.0) activeresource (3.2.0) activesupport (3.2.0) arel (3.0.0) bigdecimal (1.1.0) builder (3.0.0) bundler (1.0.21) erubis (2.7.0) hike (1.2.1) i18n (0.6.0) io-console (0.3) journey (1.0.0) json (1.6.5, 1.5.4) mail (2.4.1) mime-types (1.17.2) minitest (2.10.1, 2.5.1) multi_json (1.0.4) polyglot (0.3.3) rack (1.4.0) rack-cache (1.1) rack-ssl (1.3.2) rack-test (0.6.1) rails (3.2.0) railties (3.2.0) rake (0.9.2.2) rdoc (3.12, 3.9.4) rubygems-update (1.8.15) sprockets (2.1.2) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) tzinfo (0.3.31)
Railsアプリを作る作業ディレクトリ(名前は自由)をホーム下に作成します。
$ cd $ mkdir rails_app
$ cd rails_app $ rails new sample
Railsを起動します
$ cd sample $ rails s
ブラウザで http://localhost:3000 にアクセスし、「Welcome aboard」が表示されれば成功です。
