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)