【问题标题】:Error Running Ruby Debug IDE with Rails 4 app使用 Rails 4 应用程序运行 Ruby Debug IDE 时出错
【发布时间】:2017-03-25 04:15:24
【问题描述】:

我在使用 Visual Studio Code 运行带有 Ruby Debug IDE 的 Rails 4 应用程序时遇到问题。这是我得到的错误。

/home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:2158:in `method_missing'
: undefined method `this' for #<Gem::Specification:0x1271b08 debase-0.2.1> (NoMethodError)
    from /home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:1057:in `find_active_stub_by_path'
    from /home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:64:in `require'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/gems/debase-0.2.1/lib/debase.rb:4:in `<top (required)>'
    from /home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
    from /home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
    from /home/ziyan/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/gems/ruby-debug-ide-0.6.0/lib/ruby-debug-ide.rb:8:in `<top (required)>'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/gems/ruby-debug-ide-0.6.0/bin/rdebug-ide:8:in `require_relative'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/gems/ruby-debug-ide-0.6.0/bin/rdebug-ide:8:in `<top (required)>'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/bin/rdebug-ide:23:in `load'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/bin/rdebug-ide:23:in `<main>'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/bin/ruby_executable_hooks:15:in `eval'
    from /home/ziyan/.rvm/gems/ruby-2.3.0@tbv_website/bin/ruby_executable_hooks:15:in `<main>'

额外细节

  • Ruby 2.3.0
  • Ruby 调试 IDE 0.6
  • IDE:Visual Studio 代码 + vscode-ruby

尝试了不同的变体

  • 尝试更新到 Ruby 2.3.3
  • 已尝试将 ruby​​-debug-ide 降级到 0.5
  • 尝试将 ruby​​-debug-ide 升级到 0.6.1.beta4

没有成功

额外

我开始了一个新的 Rails 5 + Ruby 2.4.0 项目,并且调试工作正常。它使用相同的 ruby​​-debug-ide 版本。所以 ruby​​-debug-ide 的版本应该可以工作了。

【问题讨论】:

  • 我猜你的Gemfile 包含一个this 方法调用。也许它应该是一个注释,而单词前面的# 不见了?顺便说一句:该错误还告诉您使用 Ruby 2.3 而不是 2.4 - 您可能需要检查一下。
  • 我要补充一点,我使用相同的扩展来调试 Ruby 2.1.x 和 Ruby 2.2.x Rails 应用程序,它运行良好。它停止为我传递到 Ruby 2.3.x 工作(以 .0、.1 和 .3 失败)。
  • 感谢@MarcoSanfilippo,我无法更新到 2.4,因为一些库坏了。我将尝试使用 2.2.x

标签: ruby ruby-on-rails-4 ruby-debug-ide


【解决方案1】:

我刚刚通过将 ruby​​gems 更新到版本 2.6.11 解决了这个问题(我认为它是目前可用的最新版本)。

$ gem update --system

现在 VSCode 中的调试又可以工作了。

我当前的配置。

  • CentOS 7
  • RVM,最新稳定版
  • VSCode,带有 Ruby 扩展 0.10.4 的最新稳定版
  • Rails 4 - Ruby 2.3.3(目前正在开发基于 Solidus 的电子商务)
  • Debase 0.2.1,Ruby-Debug-IDE 0.6.1b4

希望对你有帮助。

【讨论】:

  • 太好了,让我试一试!
猜你喜欢
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多