こんにちは。こんばんは。窓の杜編集部の柳です。
窓の杜 - 【NEWS】.NET Framework上で動作するスクリプト言語“Ruby”「IronRuby」が正式版に
とうとう「IronRuby」安定版が正式公開されましたね。実はスクリプト言語は苦手で…覚えたいなって思うんですけれど、ついつい使い慣れたC#に逃げてしまうんですよね。これを機会に、頑張って覚えてみようかな?
それはともかく。
また、“Ruby”の公式実装の安定版「Ruby」v1.8.6との互換性も高く、Webアプリケーションフレームワーク“Ruby on Rails”を利用することもできるという。
「できるという。」ってなんだか無責任な書き方ですよね。ほんとにできるのかヨ。というわけで、実際に試してみました。
まず、「VirtualBox」でプレーンなWindows Vista環境を用意。
ついで、.NET 2.0用の「IronRuby」と「SQLite ADO.NET 2.0/3.5 Provider(System.Data.Sqlite)」をインストールします。.NET 2.0用にしたのは、.NET 4がまだ英語版のみの提供になっているのと、.NET 4をインストールする時間がなかったからです(後日改めて挑戦するかも?)。同じく時間がないという理由で、今回はデータベースはSQlite3にします。SQL Server Express なども利用できるようですね。
インストールが完了したら、コマンゴプロンプトを起動して以下のように入力。
ちゃんとバージョンが出力されたら、セットアップは成功です。
つぎに「RubyGems」で必要なGemをインストールしていきます。コマンドプロンプトで、以下のような呪文を唱えます。
ir –S gem install rake rails sqlite3-ironruby --no-ri --no-rdoc
ri、rdocの生成をスキップして、rake、rails、sqlite3-ironruby という3つのGemをインストールするという意味です(sqlite3-ironrubyなんてあるんですね! 全然しらなかったです)。
警告が出ちゃいました…インストールは成功したみたいですけれど、もう一度管理者権限でコマンドプロンプトを起動して、再インストール。
今度は何も出ませんでした。今回「IronRuby」はProgram Files以下にインストールしたのですが、権限の問題を回避するためにも「C:\IronRuby\」などへインストールした方がいいかもしれませんね。
さて、管理者権限じゃないコマンドプロンプトに戻ります。
実際に Rails が利用できるか試してみます。ユーザーフォルダに「rails」フォルダを作成し、そこへ移動して rails プロジェクト "sample" を作成します。
C:\Users\Hidetoshi Yanagi\rails>ir -S rails sample
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create config/locales
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create test/fixtures
create test/functional
create test/integration
create test/performance
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create config/database.yml
create config/routes.rb
create config/locales/en.yml
create db/seeds.rb
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/new_rails_defaults.rb
create config/initializers/session_store.rb
create config/environment.rb
create config/boot.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/console
create script/dbconsole
create script/destroy
create script/generate
create script/runner
create script/server
create script/plugin
create script/performance/benchmarker
create script/performance/profiler
create test/test_helper.rb
create test/performance/browsing_test.rb
create public/404.html
create public/422.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
たくさんファイルができました。「cd sample」で作成したプロジェクトフォルダに移動しておきます。
次に、config\environment.rb を編集。以下の一行を挿入します。
config.gem "sqlite3-ironruby", :lib => “sqlite3”
これで準備は完了みたいですね。コマンドプロンプトで、Webrickサーバーを起動させます。
ir script\server
途中、ファイヤーウォールのブロックは解除しておきましょう。
http://localhost:3000 へアクセスしてみました。うまく動いているみたいです!
---
【おまけ】
これだけではおもしろくないので、DBも使ったサンプルを作成します。
ir script\generate scaffold post title:string body:text
rake db:migrate
…(省略)…
ir script\server
英語は大丈夫でしたが、日本語は文字化けしてしまいました。sqlite3-ironruby が返す文字列のエンコードがUS-ASCIIのようですね。こまったこまった。
あとはよろしく!
参考: http://ironruby.net/Documentation/Real_Ruby_Applications/Rails