【问题标题】:RubyMine/IDEA ruby debugger cannot load linecache gem in bundler modeRubyMine/IDEA ruby​​ 调试器无法在捆绑模式下加载 linecache gem
【发布时间】:2014-02-09 00:55:27
【问题描述】:

在 IDEA 13(和早期版本,例如 11)Ruby 中启动捆绑器中的调试器(检查运行目标的捆绑器选项卡中的“在捆绑上下文中运行脚本”选项),我总是得到

/Users/me/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/me/.rvm/gems/ree-1.8.7-2012.02/gems/ruby-debug-ide-0.4.22/bin/rdebug-ide --disable-int-handler --port 58100 --dispatcher-port 58101 -- /Users/me/railproj/script/spec --format specdoc spec/**/any_ruby_spec.rb
/Users/me/.rvm/gems/ree-1.8.7-2012.02/gems/ruby-debug-base-0.10.5.rc9/lib/ruby-debug-base.rb:3:in `require': no such file to load -- linecache (LoadError)
    from /Users/me/.rvm/gems/ree-1.8.7-2012.02/gems/ruby-debug-base-0.10.5.rc9/lib/ruby-debug-base.rb:3
    from /Users/me/Library/Application Support/IntelliJIdea13/ruby/rb/gems/debug_preloader.rb:2:in `require'
    from /Users/me/Library/Application Support/IntelliJIdea13/ruby/rb/gems/debug_preloader.rb:2

linecache gem 安装正确

$ gem which linecache
/Users/me/.rvm/gems/ree-1.8.7-2012.02/gems/linecache-0.46/lib/linecache.rb

将 linecache 放入 Gemfile 根本没有帮助。

但是在没有捆绑器的情况下为相同的运行目标启动调试器(取消选中“在捆绑上下文中运行脚本”)可以工作。当然,与捆绑器上下文很容易发生 gem 冲突。

如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby gem bundler rubymine


    【解决方案1】:

    我找到了解决方案/解决方法:只需添加

    require 'rubygems'
    

    到 ruby​​-debug-base.rb 的第一行(确保添加到 RM/Idea 使用的正确的行,因为可以有多个版本。)

    但我仍然不知道为什么它会在没有捆绑器选项的情况下工作。我觉得应该是相反的情况。

    【讨论】:

      【解决方案2】:

      对于比 Hacking Bear 提供的更清洁的修复,避免不得不对第三方 Gems 进行破解:

      导航到:Run > Edit Configurations

      Ruby arguments 行前加上:-r rubygems

      来自 Ruby 手册页:

         -r library
                Causes Ruby to load the library using require.  It is useful when using -n or -p.
      

      【讨论】:

        猜你喜欢
        • 2022-11-24
        • 1970-01-01
        • 2012-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多