Rubyをインストールする(Windows環境)

(UPDATE 2010/03/12)

JavaOpenIDの実装を行っているのですが、
接続先がRubyのライブラリを利用しているということで、
とうとう私もRubyデビューとなりました。


ということで、デビュー初回といえばインストールですね。
以下、Rubyのインストール方法(Windows版)

Rubyのインストール

まずはWindows環境のインストーラを取得します。


http://rubyinstaller.rubyforge.org/wiki/wiki.pl
http://rubyinstaller.org/


よりWindows版Rubyバイナリを取得。
今回は一番下のLegacy One-Click Installerにある
ruby186-26.exeを使用しました。


取得したexeを実行し
RubyとRubyGem(ライブラリのインストーラ)
をインストールします。


コマンドプロンプトで動作確認

#ruby -e 'print "Hello world"'
Hello world


無事動作していますね。

Ruby on Railsのインストール

続いてRubyといえばRailsということで
Ruby on Railsをインストールします。


RubyGemがインストール済みなのでgemコマンドを利用
することで簡単にインストールできます。


HTTPでプロキシを利用している環境では
まず、環境変数にHTTP_PROXYを設定する必要があります。

#set HTTP_PROXY=http://プロキシサーバ名:ポート番号


インストール済みのRubyGemsが古いのでまず
gem updateを実施します。

#gem update --system
...
RubyGems system software updated


その後、gemコマンドでインストールを行います。

#gem install rails
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rails-2.1.1
Successfully installed rake-0.8.2
...


以上です。簡単ですね。

SQLiteのインストール

DBにはRailsのデフォルトであるsqlite3を使用してみます。


http://www.sqlite.org/download.html
よりsqlite-3_6_23.zipとsqlitedll-3_6_23.zipをダウンロード。


解凍したものをRubyのインストールディレクトリのbin
(デフォルトC:\ruby\bin)にコピーします。


次に、Rubyのアダプタライブラリをインストールします。

#gem install sqlite3-ruby
...
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
...


あれれ?nmakeというコマンドがないとエラーになりました。
nmakeをインストールするも
「NMAKE : fatal error U1073: 'ruby.h' のビルド方法が指定されていません。 」
というエラーが発生してインストールできません。


どうやらsqlite3-ruby1.2.4はソースのみ配布となっているようです。
バージョンを指定してインストールしてみます。

#gem install sqlite3-ruby --version '= 1.2.3'


無事インストールできました。
(1.2.5で解消しているようです)

動作確認

Ruby on Railsの動作確認を行います。
まずはプロジェクトを作成。

#rails test


testというプロジェクトフォルダが生成されます。


次にRailsに同梱されているWEBrick(Webサーバ)を起動します。


再度WEBrickを起動します。

#ruby test/script/server


http://localhost:3000/へアクセスしてWelcome aboard画面が表示されれば動作確認終了です。


おや、About your application’s environmentをクリックすると
「could not open database: unable to open database file」
というエラーが発生しています。


どうやらプロジェクトのパスに日本語があるのが原因のようです。
プロジェクトを日本語のないパスに移動して再度確認。


今度は問題なく表示されました。