すがブロ

sugamasaoのhatenablogだよ

Windows に Ruby on Rails 2.2 + MySQL 5.x 環境を構築する手順とハマり所

始めに

Windows 環境で Rails 2.2 を使える環境を作ろうとしたところ、MySQL5.1 を使用するとライブラリの関係で正しく動作しないという事象が発生したので、ゼロから環境を構築する手順と合わせてハマり所を記載しておく。
ちなみに、Rails 2.2 であることが原因では無い(ハズ)なので、勘違いしないよう、ご注意ください。

Ruby 環境のインストール

Ruby 本体のインストール

上記から Ruby 1.8.7 の mswin 版 zip を取得する。

  1. 適当に解凍する(必要があれば適当なディレクトリへ移動しておく)
  2. PATH を通す

今回は C:\ 直下に ruby フォルダを作成しておく事にした。追加するPATHは C:\Ruby\bin となる。
さて、PATHが通っているか確認してみよう。

C:\>ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]

大丈夫なようだ。

RubyGems のインストール

上記から 1.3.1 の zip ファイルを取得する。
展開したら setup.rb を実行する。

C:\rubygems-1.3.1>ruby setup.rb

成功したら gem のバージョンを確認してみる

C:\rubygems-1.3.1>gem -v
1.3.1

おお、インストールされたっぽい。

不足する DLL を追加する

ここから以下を取得する。 readline は今回は不要だけど、irb を使用するときに必要になるので今のうちに取得しておく。

  1. http://jarp.does.notwork.org/win32/openssl-0.9.8d-2-mswin32.zip
  2. http://jarp.does.notwork.org/win32/zlib-1.1.4-1-mswin32.zip
  3. http://jarp.does.notwork.org/win32/readline-4.3-2-mswin32.zip

これらをDLしたら展開したそれぞれのフォルダの bin フォルダにある dll ファイルを、 Ruby の bin フォルダ(今回の場合は c:\ruby\bin)へコピーする*1
ここまでできたら基本的な Ruby 環境の構築は完了。

iconv のインストール

このままだと iconv ライブラリが Windows 自体にインストールされていないので、 Rails を構築したりするとエラーになるのでインストールする。

ここの「iconv package with simple installation instructions」となっているリンクから zip をDLし、 README にある通りに so と dll をコピーする。
自分の環境では iconv.so は既にあったので下記の二つのファイルを Ruby の bin フォルダ コピーしておく*2

  1. charset.dll
  2. iconv.dll

Rails 環境のインストール

gem でインストールする。

C:\rubygems-1.3.1>gem install rails
Successfully installed rake-0.8.3
:
Installing RDoc documentation for activeresource-2.2.2...

できたっぽい。

C:\rubygems-1.3.1>rails -v
Rails 2.2.2

ちゃんとインストールされたようだ。

サンプルプロジェクトを作る

DB はまだだけど、一旦 Rails が正しく動作するかの検証を含めて rails コマンドで雛形を作ってみる。
今回は C:\rails_test フォルダを作成し、その中で sample プロジェクトを生成する

C:\rails_test>rails -d mysql sample
:

正しくできたようだ。
試しにサーバを起動してみる。

C:\rails_test>cd sample

C:\rails_test\sample>ruby script\server
=> Booting WEBrick...
=> Rails 2.2.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-12-25 03:08:58] INFO WEBrick 1.3.1
[2008-12-25 03:08:58] INFO ruby 1.8.7 (2008-08-11) [i386-mswin32]
[2008-12-25 03:08:59] INFO WEBrick::HTTPServer#start: pid=3388 port=3000

ちゃんと起動した。

MySQL ドライバのインストール

ちょっと忘れていたのだけど、今のところ MySQL へ接続するためのドライバをインストールしていなかった。
gem でインストールすれば良いので特に困ることは無いはず(エラーが出るけど、ドキュメント生成の部分なので放置)。

C:\rails_test\sample>gem install mysql
Successfully installed mysql-2.7.3-x86-mswin32
1 gem installed
Installing ri documentation for mysql-2.7.3-x86-mswin32...
Installing RDoc documentation for mysql-2.7.3-x86-mswin32...
ERROR: While generating documentation for mysql-2.7.3-x86-mswin32
... MESSAGE: Unhandled special: Special: type=17, text="

*1:基本的にはPATHが通っている場所ならどこでも良いみたい

*2:サイトによっては c:\windows\system32 にコピーしろと書いてあるけれど、これも PATH が通っていれば場所はどこでも良いので、 Ruby で必要なものは Ruby 内に固めておくことにする