JRubyOnRails に挑戦
RubyよりJRubyの方が速いというのを聞いて、今更ながら試してみました。
JRubyのインストールからRailsのインストールまでやってます。
ActiveRecord-JDBC + SQlite3-JDBCドライバを使おうとして挫折。 ←今ここ
ログ形式でお送り致します。(単に過去形なだけ)
ちなみに、環境は Fedora8 + Sun JDK 6 です。
JDK のインストールについては、既にインストール済みでしたので省略します。
JRuby のインストール
JRuby 本家 (http://jruby.codehaus.org/) からJRubyをダウンロードしました。
http://dist.codehaus.org/jruby/jruby-bin-1.1RC2.tar.gz
RCだろうが何も恐れず、JRuby 1.1 RC-2 をダウンロード。
ファイルを展開して、以下のパスに配置しました。
/usr/local/jruby
環境変数を設定するために、~/.bashrc に次の設定を追加しました。
パスも通しました。
export JAVA_HOME=/usr/java/default export JRUBY_HOME=/usr/local/jruby export PATH=$PATH:$JAVA_HOME/bin:$JRUBY_HOME/bin
Railsのインストール
すでにRubyでRailsがインストールされていても、JRuby側は別環境なので、またインストールする必要があります。
ちなみに、rubygems はJRubyに付属していますので、インストールする必要はありませんでした。
# むしろ、インストールしたらエラーがでてgemがうごかなくて困りました
JRubyからgemを実行するときは次のようにすると簡単です。
$ jruby -S gem -v #=> 1.0.1
Railsをインストール。
$ sudo jruby -S gem install rails
ちょっと前までつけていた、 -y とか --include-dependency とかつけなくても、デフォルトでこのオプションはONになるようになったみたいです。
JRubyのOpenSSLは機能限定的らしいので、jruby-opensslを入れて。ってでるのでとりあえずいれます。
$ sudo jruby -S gem install jruby-openssl
これで終わりです。
rails 実行するには、gemと同じようにします。
$ jruby -S rails hogehoge
ActiveRecord-JDBC
※ ここで挫折しました。ここから先はほとんど参考になりません。
sqlite3-ruby はエラーが出て gem でインストールできなかったので、ActiveRecord-JDBC + Sqlite3-JDBC を試してみました。
ActiveRecord用の JDBC アダプタをインストールしました。
$ sudo jruby -S gem install ActiveRecord-JDBC
Sqlite3の JDBCドライバは次のURLからダウンロードできます。
SQLiteJDBC http://www.zentus.com/sqlitejdbc/index.html
Rails の設定は、 config/database.yml で、
adapter: jdbc driver: org.sqlite.JDBC url: jdbc:sqlite:db/development.sqlite3 timeout: 5000
としました。
が、動きませんでした。
ぐぐってたら、「SQlite JDBC には対応してない」 っていう記事がちらほら。
まー、普通に動くJDBCドライバがあるDBMSを使えばいいんでしょうけど。
というわけで、Railsが動く様はまだ拝んでいません。
ちなみに、JRuby、まともに日本語が扱えないようでした。
ためしに、jirb で、
a = "日本語"
ってやると、
"???"
ってでました。