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

2012/05/05

Cygwin に最新の Ruby 1.9.3 と Ruby on Rails 3.2 をインストールする手順をやや詳しく説明します。

Cygwin (シグウィン)は、Windows 上で Unix 系のコマンドを実行するための環境です。詳しくはWikipediaのCygwinの項を参照してください。なお、2012年5月現在、Windows 上で Unix 系のコマンドを実行するための環境としては MinGW もあり、Rubyの実行環境としてはMinGWの方がトラブルが少なくパフォーマンスも高いです。なおRubyInstallerでインストールされるRubyは、そのままMinGWのターミナル上で利用できます。

なお、本稿ではRubyのインストールにrbenvを利用します。rbenvを利用すると、プロジェクトごとにRubyのバージョンを簡単に切り替えられるというメリットがあります。

本稿が対象とする Cygwin のバージョンは 1.7.1 です。「手順通りやったけどうまく行かなかった!」という方は、hermes@oiax.jp までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。

この文章の内容は、随時更新しています。最終更新日: 2012/05/07

Cygwin のインストール

すでに Cygwin をインストール済みの方は、次のセクションに進んでください。

  • ブラウザで http://www.cygwin.com/ を開き、「Current Cygwin DDL version」セクションにある setup.exe をダウンロードします。
  • setup.exe を起動します。
  • インストーラは以下の手順で進みます。原則としてデフォルトのまま「次へ(N)」ボタンをクリックしてください。
    • Cygwin Setup
    • Choose Installation Type
    • Choose Installation Directory
    • Select Local Package Directory -- C:\cygwin\packages に変更。
    • Select Connection Type -- 基本的に変更不要。プロキシ設定の必要な方は「Use HTTP/FTP Proxy」を選んで、ホスト名を記入。
    • Choose A Download Site -- 末尾が .jp のURLを適宜選択。
    • Select Packages
    • Installation Status and Create Icons -- 「完了」ボタンをクリック。

各種パッケージのインストール

  • setup.exe を起動し、インストール時と同様に「次へ(N)」ボタンで進んでいき、「Select Packages」で以下のパッケージを選択してインストールしてください。
    • Devel
      • gcc
      • git
      • make
      • patch
    • Libs
      • libncurses
      • libopenssl
      • libreadline
      • libsqlite3-devel
      • libxml2-devel
      • libxslt-devel
    • Web
      • wget

RVM の除去

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

> rvm implode

本稿ではRuby環境の管理にrbenvを使用します。RVMとは共存できません。初期状態ではRVMはインストールされていませんので、初めてRubyに挑戦する方はこの手順をパスしてください。RVMがインストールされているかどうか調べるには、rvmコマンドを実行してみてください。「プログラム 'rvm' はまだインストールされていません。」や「command not found: rvm」などのメッセージが表示される場合は未インストールです。

rbenv のインストール

  • Cygwin Terminal(以下「ターミナル」と呼びます)で以下のコマンドを順に実行します。
> cd
> git clone git://github.com/sstephenson/rbenv.git .rbenv
> echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
> echo 'eval "$(rbenv init -)"' >> ~/.bashrc
> source ~/.bashrc

ZSHをお使いの方は、途中の .bashrc.zshrc で置き換えてください。

ruby-build のインストール

  • ターミナルで以下のコマンドを順に実行します。
> mkdir -p ~/.rbenv/plugins
> cd ~/.rbenv/plugins
> git clone git://github.com/sstephenson/ruby-build.git

ruby のインストール

  • ターミナルで以下のコマンドを順に実行します。
> rbenv install 1.9.3-p194
> rbenv rehash
> rbenv global 1.9.3-p194

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

  • ターミナルでrubyのパスを確認します。
> which ruby

/home/kuroda/.rbenv/shims/ruby のようなパスが表示されることを確認してください。ただしkurodaの部分は、あなたのログイン名になります。このようなパスが表示されない場合は、環境変数PATHの設定に問題があります。~/.bashrc~/.zshrc を調べてください。

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

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

.gemrc の作成

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

Cygwin の ~/.gemrc は、Windows の C:\cygwin\home\kuroda\.gemrc に相当します(ただしkurodaはあなたのログイン名)。Windows で普段お使いのエディタで編集してください。

Ruby on Rails 3.2 のインストール

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

作業フォルダの作成

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

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

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

Gemfileの編集

  • エディタでカレントディレクトリにあるGemfileを開き、次の記述を探して行頭にコメント記号(#)を追加します。
  gem 'coffee-rails', '~> 3.2.1'

CoffeeScriptを使わない設定に変えています。Cygwin上でCoffeeScriptを利用するのはちょっと難しいようで、まだ私は環境構築に成功していません。

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

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

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

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

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

アプリケーションの起動

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

cygwin-rails

動作確認

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

[更新] MinGWに関する注を追加しました。(2012/05/07)