2014-02-09 2 views
4

Запустите отладчик в комплекте (проверьте флажок «Запустить сценарий в контексте пакета» на вкладке «Распределитель запуска») в IDEA 13 (и более ранней версии, например, 11) Ruby, Я всегда получаюРубиновый отладчик RubyMine/IDEA не может загрузить linecache gem в режиме связки

/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 which linecache 
/Users/me/.rvm/gems/ree-1.8.7-2012.02/gems/linecache-0.46/lib/linecache.rb 

Если собрать linecache в Gemfile не поможет.

Запустить отладчик для одной и той же цели запуска без связки (снятие флажка «Запуск сценария в контексте пакета»). Разумеется, можно было бы легко конфликтовать с gem-конфликтом с контекстом связки.

Как это можно исправить?

ответ

6

Я нашел решение/работу вокруг: просто добавьте

require 'rubygems' 

на первую линию рубинового отладочного base.rb (убедившись, что добавление к правому, используемому RM/Идея, как может быть несколько версий.)

, но я до сих пор не знаю, почему это просто будет работать без опции bundler. Я чувствую, что все наоборот.

+2

Это тоже сработало для меня. Пожалуйста, подумайте о том, чтобы отметить это как принятый ответ. –

0

Для чистого исправления, чем тот, предоставляемой Hacking Bear, что избавляет от необходимости взламывать на сторонних самоцветов:

Navigate к: 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.