微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 无法使用RVM,Ruby 1.9.2和Rails 3运行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/

解决方法

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

确保你已经为1.9安装了调试基础宝石

gem install ruby-debug-base19

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

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

Debugging in ruby 1.9

祝一切顺利.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐