WindowsのNetBeans6.5 JRuby on Railsの動作があまりに遅いのでJRubyのせいなのか確認するためにUbuntu8.10に入れて比べることにした。
Firefoxでダウンロードサイトへ行きRuby用をダウンロード。
「追加と削除」でjavaで検索したらJREは入ってた。
$ mv デスクトップ/netbeans-6.5-ml-ruby-linux.sh .
$ chmod +x ./netbeans-6.5-ml-ruby-linux.sh
$ ./netbeans-6.5-ml-ruby-linux.sh
でWindowsと遜色のないインストーラでインストール。Javaは好きではなかったがなかなかいいじゃんと思った。(笑
(インストール中若干プロンプト文字列の表示がおかしかったが。)
以下、
NBサイトRailsのチュートリアル通りに
新規プロジェクトの作成で、Derbyを指定するためにデータベース構成で「データベースを直接指定」のラジオボタンを選び、データベースアダプタをjavadbにして作成。
scaffoldをしようとしたら、`gem install activerecord-derby-adapter`しろと出た。忘れてた。「ツール」>「Ruby Gems」から「新しいGem」のactiverecord-jdbcderby-adapterを選択してインストール。それにしても一覧取得にえらい時間がかかった。20分くらい?一度インストールに失敗したがもう一度やると成功した。サーバが混んでたかな?
rakeの実行で db:create したがデータベースが出来ない。NBを再起動してみる。やっぱ出来てた。こないだからのWindows上での試行錯誤でこういうことがあるようなので気になってたがやっぱりこういうこと(すぐには反映されない)だったのか。。。気をつけなはれや!
あれ?次のエラーが出た。Windowsでもこのエラーが出たり出なかったり訳分からん。
「ActiveRecord::ActiveRecordError: スキーマ 'SA' は存在しません: SELECT * FROM posts」
rubyweblogノードでプロパティを選んでGlassFishからWEBrickに切り替えて実行したらちゃんと動いた。そういうことだったのか。
で、結論。
1)実行はWindowsの用に激しく遅くない。あまりに遅すぎて色々試せなかったのだが、JRubyでも問題ないのが分かった。Proxyサーバを設定すると遅くなるという情報をみかけたので、どうやらそれが原因なんだろうなぁ。そのせいだとするとRubyに変えても遅いんだろうか。。。
2)組み込みDerbyはactiverecord-jdbcderby-adapterのGemを入れたら使える。jdbc経由でなくてもいいみたい。つーか
activerecord-derby-adapterを入れろと言われるのにactiverecord-jdbcderby-adapterしかないつーミスのせいで訳分からんちんになってる。
3)やっぱり開発時点ではGlassFishよりWEBrickかな?
最初からNB+InstantRailsにすればこんな苦労は無かったかも。(T_T)