无法使用RVM,Ruby 1.9.2和Rails 3运行RubyMine调试器

时间:2011-03-16 21:20:43

标签: ruby-on-rails ubuntu debugging rubymine

我已经设置了一个全新的Ubuntu安装,并按照this guide安装RVM,Ruby 1.9.2和Rails 3。

然后我安装了RubyMine 3.0,它自动从RVM路径检测到Ruby 1.9.2 SDK,这样就可以了。我可以完美地启动服务器(绿色播放按钮)。

现在问题是我无法调试它,因为它在启动后会抛出以下异常。

/home/eparizzi/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/bin/rdebug-ide --port 39879 -- /home/eparizzi/Projects/Delko/src/script/rails server -p 3000 -b 0.0.0.0 -e development
Fast Debugger (ruby-debug-ide 0.4.16, ruby-debug-base 0.11) listens on 127.0.0.1:39879
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/interface.rb:128:in `<module:Debugger>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/interface.rb:1:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:1:in `require_relative'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug/processor.rb:1:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:6:in `require_relative'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:6:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `each'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `block in require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `each'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler.rb:120:in `require'
    /home/eparizzi/Projects/Delko/src/config/application.rb:7:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:28:in `require'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:28:in `block in <top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:27:in `tap'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.5/lib/rails/commands.rb:27:in `<top (required)>'
    /home/eparizzi/Projects/Delko/src/script/rails:6:in `require'
    /home/eparizzi/Projects/Delko/src/script/rails:6:in `<top (required)>'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_load'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/lib/ruby-debug-ide.rb:112:in `debug_program'
    /home/eparizzi/.rvm/gems/ruby-1.9.2-p180/gems/ruby-debug-ide-0.4.16/bin/rdebug-ide:87:in `<top (required)>'
    -e:1:in `load'
    -e:1:in `<main>'
Uncaught exception: superclass mismatch for class RemoteInterface

Process finished with exit code 0

我在.Gem文件中有以下行

gem 'ruby-debug19', :require => 'ruby-debug'

另外(在一些博客之后)我安装了ruby-debug-ide gem,如下所示:

gem install ruby-debug-ide19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-p180/ 

2 个答案:

答案 0 :(得分:6)

这绝对是一个与宝石相关的调试问题。您不应该在.gem文件中包含debug gem。 Rubymine应该自动捡起来,所以我会从那里开始取出它。

确保你已经为1.9

安装了调试基础宝石
gem install ruby-debug-base19

我记得一开始有一些与调试相关的问题,但我觉得他们现在已经被解决了。

你看过这篇文章了吗?它也可以帮助您指明方向。

Debugging in ruby 1.9

一切顺利。

答案 1 :(得分:2)

删除:require =&gt;