Hatena::ブログ(Diary)

Hidde’s Tips このページをアンテナに追加 RSSフィード

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 との違い



Rubyインストールする】

Homebrewを利用しますので予めインストールしておいてください。

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をダウンロードしてインストール

AppleのDeveloperサイトからgccが入っているCommand Line Tools for Xcodeダウンロードできるようになりました。(XcodeのPreferencesからもインストール可能)


.bash_profileに下記を追加

$ echo 'export CC=gcc-4.2"' >> .bash_profile
$ source .bash_profile

インストール可能なRubyのバージョンを確認

$ 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/*****/.rbenv/version)



Ruby on Rails 3.2をインストール

依存関係にあるgemパッケージは、Rails3で公式に採用されたBundlerを使って管理していくことにします。


まずはRubyGemsRakeアップデート

$ 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

Railsアプリ(ここでの例ではsample)を作成します

$ cd rails_app
$ rails new sample

Railsを起動します

$ cd sample
$ rails s

ブラウザhttp://localhost:3000 にアクセスし、「Welcome aboard」が表示されれば成功です。

Railsを終了するには ターミナルで CTRL+C を使います。