Ruby on Rails 3.2 を Mac OS X にインストールする手順をかなり丁寧に説明してみました

2011/08/07

先日掲載したRuby on Rails 3.1 を Windows にインストールする手順をかなり丁寧に説明してみましたのMac OS Xバージョンです。

Mac OS Xで初めてRubyやRailsに挑戦する方のために、最新の Ruby 1.9.3 と Ruby on Rails 3.2 のインストール手順をやや詳しく説明します。

なお、本稿ではRubyのインストールにHomebrewとrbenvを利用しています。MacPortsによるインストール手順を知りたい方は http://ref.xaio.jp/ruby/install/macosx を参照してください。

本稿が対象とする OS は Mac OS X 10.8 (Mountain Lion)、Mac OS X 10.7 (Lion) 、および Mac OS X 10.6 (Snow Leopard) です。「手順通りやったけどうまく行かなかった!」という方は、Mac OS の種類を明記の上、hermes_at_oiax_dot_jp までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。

この文章の内容は、随時更新しています。最終更新日: 2017/12/31

Xcode のインストール

  • Mac OS X 10.8 (Mountain Lion) および Mac OS X 10.7 (Lion) の場合
    • メニューバー左端の「アップルメニュー」から「App Store」を選択します。
    • App Store ウィンドウの右上にある検索ボックスを使って「xcode」を検索します。
    • 「Xcode」をクリックし、次のページで「無料」ボタンをクリックして Xcode をインストールします。
  • Mac OS X 10.6 (Snow Leopard) の場合
    • ブラウザで http://developer.apple.com/jp/ を開きます。
    • 「Mac Dev Center」をクリックします。ここから先は英語です。
    • Apple IDを持っている場合は、「Log in」ボタンをクリックしてログインします。ヒント: Apple IDは多分、あなたのメールアドレスです。
    • Apple IDを持っていない場合は、画面右上の「Register」をクリックします。次のページで「Get Started」をクリックしてラジオボタン「Create an Apple ID」を選択して、「Continue」ボタンをクリックします。以下、氏名、住所、電話番号など様々な質問項目に答えて、Apple IDの登録を完了します。
    • Mac Dev Centerにログインし、「Xcode 3.2.6 and iOS SDK 4.3」リンクをクリックしてインストールします。注意: インストールファイルは4GB以上あります。時間に余裕のあるときに行いましょう。

Command Line Tools のインストール (Xcode のバージョンが 4.3 以上の場合)

  • Xcode を起動。
  • 「Xcode」メニューの「Preferences」を選択。
  • 「Downloads」タブを選択し、「Command Line Tools」の「Install」ボタンをクリック。

Homebrew のインストール

  • Finderで「アプリケーション」→「ユーティリティ」と進んで、「ターミナル」を開きます。
  • ターミナルで次のコマンドを実行します。
> ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

コマンドの先頭にある > の文字は入力しないでください。これ以降の手順でも同じです。rootユーザーではなく一般ユーザーで実行してください。sudo を付ける必要もありません。

MacPorts でインストールされた Ruby のアンインストール

あなたの Mac に MacPorts で Ruby がインストールされている場合は、アンインストールします。

> sudo port uninstall ruby

MacPorts でインストールされた Ruby の有無を調べるには、which ruby コマンドを実行してください。/opt/local/bin/ruby という結果が返れば「陽性」です。

RVM の除去

あなたのMacにRVMがインストールされている場合は、除去します。

> rvm implode

本稿ではRuby環境の管理にrbenvを使用します。RVMとは共存できません。

rbenv と ruby-build のインストール

  • Finderで「アプリケーション」→「ユーティリティ」と進んで、「ターミナル」を開きます。
  • ターミナルで以下のコマンドを順に実行します。
> brew install rbenv
> brew install ruby-build
> echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
> source ~/.bash_profile

brew の前に sudo を付ける必要はありません。ZSHをお使いの方は、最終行の .bash_profile を .zshrc で置き換えてください。

readline のインストール

  • ターミナルで以下のコマンドを順に実行します。
> brew install readline
> brew link readline

openssl のインストール

  • ターミナルで以下のコマンドを順に実行します。
> brew install openssl
> brew link openssl

ruby のインストール

  • ターミナルで次のコマンドを実行します。
> CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-openssl-dir=/usr/local" rbenv install 1.9.3-p194
> rbenv rehash
> rbenv global 1.9.3-p194

2012年9月15日におけるRubyの最新版1.9.3p194をインストールしています。

  • rbenvの設定を確認します。
> rbenv version

1.9.3-p194 に始まる文字列が表示されることを確認してください。

  • ターミナルでrubyのバージョンを確認します。
> ruby -v

ruby 1.9.3p194 に始まる文字が現れることを確認してください。

.gemrc の作成

  • エディタで ~/.gemrc を次のような内容で作成します。
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc

Ruby on Rails 3.2 のインストール

  • ターミナルで、次のコマンドを実行します。
> rbenv exec gem install rails --version="~> 3.2.8"
> rbenv rehash
> source ~/.bash_profile
  • ターミナルで Ruby on Rails のバージョンを確認します。
> rails -v

Rails 3.2.8 という文字が現れることを確認してください。「Rails is not currently installed on this system. ...」というエラーメッセージが現れたら、rbenv exec gem install railties --version="~> 3.2.8" コマンドと rbenv rehash コマンドを順に実行して、もう一度 Rails のバージョンを確認してください。参考資料: https://github.com/sstephenson/rbenv/issues/73

作業フォルダの作成

  • ターミナルで、以下のコマンドを順に実行します。途中で現れる work は作業フォルダの名前です。好きな名前で置き換えてください。
> cd
> mkdir work

動作確認用の新規アプリケーションの作成

  • ターミナルで、以下のコマンドを順に実行します。途中で現れる foo は動作確認用に作成するアプリケーションの名前です。好きな名前で置き換えてください。
> cd work
> rails new foo --skip-bundle
> cd foo

通常の新規アプリケーションの作成では--skip-bundle オプションを付けずに rails new コマンドを実行します。この場合、次項で説明する bundle install による依存パッケージのインストールも同時に行われます。本稿では、初心者の方が問題の所在を把握しやすいように、との配慮から--skip-bundle オプションを付けています。

依存パッケージのインストール

  • ターミナルで、以下のコマンドを順に実行します。
> bundle install

かなり時間がかかるかもしれません。気長に待ちましょう。

簡単なユーザー管理機能の作成

  • ターミナルで、以下のコマンドを順に実行します。
> rails g scaffold user name:string email:string
> rake db:migrate

アプリケーションの起動

  • ターミナルで、次のコマンドを実行します。
> rails s

動作確認

  • ブラウザで http://localhost:3000/users を開きます。
  • 「Listing users」という見出しを持つページが表示されます。
  • 「New User」リンクをクリックします。
  • 「Name」欄にあなたの名前、「Email」欄にあなたのメールアドレスを入力し、「Create User」ボタンをクリックします。
  • ページの上部に「User was successfully created.」と表示されれば OK です。

[更新] OS X のパッケージ管理システムを MacPorts から Homebrew に変更しました。(2011/08/07)

[更新] Xcode のインストール手順をLionとSnow Leopardで分けました。また、分かりにくい表現をいくつか改めました。(2011/08/28)

[更新] Rails 3.1.0の正式リリースに合わせて、微修正しました。また、「Rakeの更新」を追加し、uninitialized constant Rake::DSL というエラーへの対処法を削除しました。(2011/09/01)

[更新] https://github.com/mxcl/homebrew/wiki/installationを参考にHomebrewをインストールするためのコマンドを更新しました。またタイトルおよび本文中の「Rails 3.1」を「Rails 3.2」と改めました。(2012/03/29)

[更新] MacPortsによるRubyのインストール手順を説明している http://ref.xaio.jp/ruby/install/macosx へのリンクを追加しました。(2012/04/02)

[更新] Rubyのバージョン番号を確認する手順と環境変数PATHに関する囲み記事を追加しました。また、Mac OS X 10.7 (Lion) の場合でもHomebrewで最新版のRubyをインストールするように手順を変更しました。(2012/04/13)

[更新] Rubyのインストールにrbenvを使用するため、大幅に書き換えました。How to setup Mac OS X Lion for ruby and rails development と Mac OS X(Lion)にRuby on Rails 3.2の開発環境を構築する を参考にしています。(2012/04/22)

[更新] .bash_profile を .bashrc に、.zsh_env を .zshrc に変更しました。(2012/05/02)

[更新] Railsをインストールした直後にrbenv rehashコマンドを実行する手順を追加しました。(2012/05/09)

[更新] Rubyをインストールした直後にrbenv versionコマンドで設定を確認する手順を追加しました。(2012/05/09)

[更新] Xcodeをインストールした直後にCommand Line Toolsをインストールする手順を追加しました。(2012/05/28)

[更新] .bashrc を .bash_profile に戻しました。(2012/06/02)

[更新] Railsをインストールするコマンドの前に rbenv exec を付けました。また、Railsのバージョンを確認する手順を加え、正しくインストールされなかった場合の対処法を追加しました。(2012/06/03)

[更新] MacPortsでインストールしたRubyを除去する手順を追加しました。(2012/06/12)

[更新] bundle install時にセグメンテーションフォールトが発生する問題についての注意書きを追加しました。(2012/07/05)

[更新] Mac OS X 10.8 (Mountain Lion) を記事の対象に加えました。(2012/07/30)

[更新] Homebrewのインストールを一般ユーザーでsudoなしで実行するように注意書きを加えました。(2012/07/30)

[更新] 読者からの指摘により、Homebrewのインストールコマンドを改訂しました。また、インストールされるRailsのバージョンを3.2.8に変更しました。(2012/09/15)

[更新] 読者の方からの指摘を受けて、rails new コマンドに --skip-bundle オプションを付ける理由について注釈を加えました。(2012/09/18)

[更新] 読者の方からの助言により、HomeBrew で openssl をインストールする手順を追加しました。以前は、bundle install 実行時に Segmentation fault が発生する場合の対処法として、MacPorts でインストールした openssl を用いて、--with-openssl=/opt/local オプションを環境変数 CONFIGURE_OPTS に加えるという対処法を囲み記事の中で紹介していました。(2012/09/18)

[更新] 読者の方からの報告を受けて、Railsのインストール直後に source ~/.bash_profile を実行する手順を加えました。通常、この手順は必要ないはずですが、この手順を踏まないと正しく rails コマンドが認識されない場合があるようです。(2012/10/02)