NetBeans 7.x + rvm + fast debugger これでもう困らない!

NetBeans7.0以降rubyのサポートが打ち切られました。それから7.1がリリースされ、7.2リリースを控えている現在も未だに僕はNetBeans派です。
ただ、サポート以前と違って設定にコツがいるようになりました。NetBeans7.0以降、毎回行なっている設定を書き留めておきたいと思います。

Rails3以降、僕の開発環境はこんな感じです。尚、本記事はruby gemを
bundle install --path vendor/bundleコマンドでapp/vendor/bundle以下にインストールする前提です。

  • OS ・・・ Mac OS X (職場の環境ではUbuntuで同じ設定を行なっています)
  • rubyのバージョン管理 ・・・ rvm
  • rubyのバージョン ・・・ 1.9.2
  • Rails ・・・ Rails3
  • gemの管理 ・・・ bundler
  • デバッカ ・・・ fast debugger


Step0. 古いNetBeansの設定ファイルを消しておく

my-MacBook:~ bismar$ ls -all | grep .netbeans
.netbeans-derby/        .netbeans/
.netbeans-registration/ 
my-MacBook:~ bismar$ rm -rf .netbeans*


Step1. NetBeansの入手

NetBeans本体をインストールします。http://netbeans.org/downloads/index.htmlから、最もファイルサイズの軽いPHPバンドルをダウンロードします。


Step2. NetBeansRuby on Rails開発のためのプラグインを入れる

1. NetBeansrubyサポートは終了しましたが、Ruby開発用のプラグインが有志によって作成されているので手動でインストールします。
http://jruby.org.s3.amazonaws.com/downloads/community-ruby/community-ruby_7_1_preview1.zip
2. ダウンロードしたファイルを適当なフォルダに解凍します。
3. NetBeansのツールバーより、「ツール」⇒「プラグイン」⇒「ダウンロード済み」⇒「プラグインの追加」から、解凍したフォルダのxxx.nbmファイルをすべて読み込みます。
4. 「インストール済み」一覧から、「Ruby and Rails」を選択します。この時、Ruby and Rails」以外は選択しないことをおすすめします。

これでNetBeans本体の設定は完了です。


Step3. gemのインストール

ここからはgemの設定になります。
Gemfileに下記のgemの記述を追加し、bundle install --path vendor/bundleコマンドでgemのインストールを行います。

gem 'ruby-debug-ide19'
gem 'ruby-debug19'


Step4. rubyプラットフォームの設定

NetBeansのツールバーより、「ツール」⇒「Ruby Platforms」⇒「Ruby 1.9.2-pxxx」を選択 ⇒「Gem Home」にapp/vendor/bundle以下にインストールしたgemのパスを指定します。
例:/Users/bismar/app/vendor/bundle/ruby/1.9.1
Gem Pathからは不要なパスを削除しておきましょう。僕の場合はrvmを使っていますが、今回はgemsetを作成していないので、/Users/bismar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems以下にbundler gemとrake gemが入っています。なので、Gem Pathでは
例:/Users/bismar/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems
だけを指定しています。


Step5. デバッカの設定

ここでデバックモードで起動してみてください。下記の様なエラーが出るはずです。

Fast Debugger (ruby-debug-ide 0.4.9) listens on :50111
	/Users/bismar/app/vendor/bundle/ruby/1.9.1/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in `debug_load'
	/Users/bismar/app/vendor/bundle/ruby/1.9.1/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in `debug_program'
	/Users/bismar/app/vendor/bundle/ruby/1.9.1/gems/ruby-debug-ide19-0.4.12/bin/rdebug-ide:87:in `<top (required)>'
	/Users/bismar/app/vendor/bundle/ruby/1.9.1/bin/rdebug-ide:19:in `load'
	/Users/bismar/app/vendor/bundle/ruby/1.9.1/bin/rdebug-ide:19:in `<main>'
Uncaught exception: no such file to load -- script/rails

script/railsファイルが認識されていないのが原因の様です。
ruby-debug-ide.rbファイルの123行目あたりの下記行を書き換えます。

bt = debug_load(`pwd`.chomp+'/script/rails', options.stop, options.load_mode)
# コメントアウト bt = debug_load(Debugger::PROG_SCRIPT, options.stop, options.load_mode) 

これで動くはずです。。動かない場合は一度NetBeansを再起動してみてください。


参考:
http://www.oiax.jp/rails/zakkan/how_to_install_rails_plugin_on_netbeans_7_1.html
http://stackoverflow.com/questions/4899422/how-to-import-ror-project-to-netbeans
http://yasrails.blog33.fc2.com/blog-entry-13.html

追記2012/5/13
rakeタスクが動かない問題は未だ解決していない。コンソールからは動かせるから放置してるけど。