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

2011/07/22

先日(2011年7月9日)、神戸でRails入門 1日集中講座の講師をしてきました。

正式リリース前の Ruby on Rails 3.1 (Rails 3.1) に基づいて教材を作りました。参加者の中には「Ruby も Rails も初めて!」という方がかなりいらっしゃいましたので、1時間目の「インストール編」がちょっと不安だったのですが、案の定あまりスムーズに進みませんでした。私の準備不足で迷惑を掛けてしまったなと反省しています。

と、このように文章は始まりますが、掲載後の改訂により現在はRuby on Rails 3.2のインストール手順について書いています。

参加者の方のお話しによれば、Rails 3.13.2 のインストールに手こずっていらっしゃる初心者の方が結構いらっしゃるようです。

そこで、神戸セミナーでの経験を踏まえて、Rails 3.13.2 での開発環境を整える手順をまとめておきます。対象 OS は、Windows XP/Vista/7/8 です。「手順通りやったけどうまく行かなかった!」という方は、Windows の種類を明記の上、hermes@oiax.jp までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。

この文章の内容は、随時更新しています。読みづらくなるので更新箇所を Rails 3.13.2 のように示すことは原則としてしません。最終更新日: 2013/06/21。

Rubyのインストール

  • ブラウザで http://rubyinstaller.org/ を開きます。英語のサイトです。
  • 「Download」ボタンをクリックします。
  • 「RubyInstallers」セクションにある Ruby 2.0.0-p*** をクリックして保存します。*** は3桁の数字です。
  • 保存したファイルを実行します。
    • (Windows XP の場合) ファイルをダブルクリックします。
    • (Windows Vista, Windows 7 および Windows 8 の場合) ファイルを右クリックして「管理者として実行」を選択します。
  • インストーラが現れます。基本的には「Next」ボタンをクリックして進んでいき、最後に「Install」ボタンをクリックすれば終わりです。ただし、途中で現れるチェックボックス「Add Ruby executables to your PATH」を必ずチェックしてください(重要)。

Rubyのインストール先フォルダとして、C:\Program Files など名前に空白文字を含むものを選択しないでください。デフォルトの C:\Ruby200 がお勧めです。

RubyGemsの更新

  • Windowsの「スタートメニュー」から「プログラム」→「アクセサリ」→「コマンドプロンプト」と順に選択します。
  • コマンドプロンプトが開いたら、以下のコマンドを順に実行します。
> gem update --system

各コマンドの先頭にある > の文字は入力しないでください。

Rakeの更新

  • コマンドプロンプトで、次のコマンドを実行します。
> gem update rake

Development Kitのインストール

  • もう一度、ブラウザで http://rubyinstaller.org/ を開き、「Download」ボタンをクリックします。
  • 「Other Userful Downloads」セクションにある DevKit-tdm-32-***-sfx.exe をクリックして保存します。*** の部分は 4.5.2-20111229-1559 のような形式の文字列です。
  • 保存したファイルはいわゆる「自己解凍形式」の圧縮ファイルです。ダブルクリックすると展開先フォルダを尋ねられるので C:\DevKit と指定してください。
  • コマンドプロンプトで、次のコマンドを実行します。
> \DevKit\devkitvars

Development Kitの動作確認

  • コマンドプロンプトで、次のコマンドを実行します。
> gem install json --no-ri --no-rdoc
  • 「Successfully installed json-1.8.0」(数字は異なるかもしれません)のように表示されれば次の手順に進んでください。
  • うまくインストールできない場合、「'make'は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」のように表示され、大量の英語のエラーメッセージが続きます。この場合は、Windowsを再起動してもう一度お試しください。

Windowsを再起動してもうまく行かない場合は、かなり厳しい状況かもしれません。が、メールでご連絡ください。できるかぎりサポートします。「Development Kitのインストール」の手順がどのように進んだのか、表示されるメッセージも含めて、教えていただけると参考になります。時間節約のため、なるべく詳しく状況を教えてくださいね。

Ruby on Rails 3.2のインストール

  • コマンドプロンプトで、次のコマンドを実行します。
> gem install rails --version="~> 3.2.13" --no-ri --no-rdoc

オプション--version="~> 3.2.13"は、「3.2.13以上3.3未満のバージョン番号を持つものを選択せよ」という意味になります。なお、Rails の次のバージョンは3.3ではなく4.0です。Rails 4.0がリリースされても、読者がこの文章を読んでRails 3.2をインストールできるようにとの配慮からこのオプションを付けています。

作業フォルダの作成

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

あとで問題を引き起こすかもしれないので、名前に日本語や空白文字を含むフォルダの下に作業フォルダを作るのは避けましょう。例えば、「デスクトップ」とか「Document and Settings」とか。もしかすると大丈夫かもしれませんが、念のため。

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

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

--skip-bundle オプションを付けると、アプリケーションソースコードの生成後に bundle install コマンドを実行しません。このコマンドは、Rails アプリケーションが依存するパッケージをインストールしてくれるものですが、本稿ではインストール作業を一歩一歩進めるため、独立した手順として実行することにします。

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

  • コマンドプロンプトで、以下のコマンドを順に実行します。
> bundle install

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

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

  • コマンドプロンプトで、以下のコマンドを順に実行します。
> rails g scaffold user name:string email:string
> rake db:migrate

アプリケーションの起動

  • コマンドプロンプトで、次のコマンドを実行します。
> rails s
  • コマンドプロンプトに Booting WEBrick で始まり INFO WEBrick::HTTPServer#start: pid=1234 port=3000 で終わる(1234の部分は任意の数)メッセージが表示されればOKです。

このようなメッセージが表示されない場合は、エラーメッセージの一部をコピーしてGoogle等で検索すると対処法が見つかる場合もあります。どうしても分からなければ、Windows の種類を明記の上、エラーメッセージの全文を引用して hermes_at_oiax_dot_jp までメールでお問い合わせください。

動作確認

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

うまく動かない場合の対処方法

ブラウザで http://localhost:3000/users を開いても「Listing users」という見出しが表示されない場合、以下の手順でお試しください。

  • ファイアウォールが邪魔をしている可能性があります。ファイアウォールを一時的に無効にするか、localhostの3000番へのアクセスを許可してください。参考: Windowsファイアウォールを有効または無効にする
  • ipconfig /all コマンドで自分のPCのIPアドレスを調べてください。「ローカルエリア接続」セクションの「IP Address」に 192.168.1.2 のような形式で表示されています。そして、ブラウザのアドレスバーに記入したURLの localhost の部分をそのIPアドレスで置き換えてみてください。例:http://192.168.1.2:3000/users

更新情報

[更新] 読者からのご指摘により「依存パッケージのインストール」の手順を追加しました。(2011/07/22) が、その後で気付いて元に戻しました。Rails 3.1では、rails new の実行時に自動的に bundle install が実行されます。依存パッケージのインストールをスキップするための --skip-bundle オプションが用意されています。(2011/07/23)

[更新] Rubyのインストールフォルダや作業フォルダとして名前に空白文字や日本語を含むものを避けてください、という注意書きを追加しました。(2011/08/01)

[更新] 読者の方からインストール作業失敗の報告を受けたときに対応しやすくするため「依存パッケージのインストール」の手順を復活させました。また、rake aborted! uninitialized constant Rake::DSL エラーの回避方法についての記述を加えました。(2011/08/02)

[更新] 「うまく動かない場合の対処方法」の手順を追加しました。(2011/08/18)

[更新] 「RubyGemsの更新」「Development Kitの動作確認」の手順を追加しました。(2011/08/19)

[更新] Rails 3.1.0の正式リリースに合わせて、微修正しました。また「Rakeの更新」の手順を追加しました。(2011/09/01)

[更新] Rails 3.2向けに内容を大幅更新しました。DevKitのインストール後に実行するコマンドを変更しました。また、不要になったSQLite3のインストール手順とRakefileの修正手順を削除しています。(2012/04/03)

[更新] DevKit、Rails、Jsonなどのバージョン番号を更新しました。(2012/12/26)

[更新] Ruby、Rails、Jsonなどのバージョン番号を更新しました。(2013/06/21)