Проблема
Я получил похожую ошибку при использовании Run> Debug с использованием RubyMine 2016.2.4.
/Users/Mp/.rvm/rubies/ruby-2.3.0/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/Mp/.rvm/gems/ruby-2.3.0@global/gems/ruby-debug-ide-0.6.0/bin/rdebug-ide --disable-int-handler --evaluation-timeout 10 --rubymine-protocol-extensions --port 54743 --host 0.0.0.0 --dispatcher-port 54744 -- /Users/Mp/code/apps/ruby_test/team_system/team.rb
Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.1, file filtering is supported) listens on 0.0.0.0:54743
Process finished with exit code 0
Первоначально, когда я установил точку останова в примере файла ruby team.rb иrun Run> Debug все работало (консоль отображала 0>
вместо Process finished with exit code 0
)
class Team
attr_reader :size
def initialize(size)
@size = size
end
end
team = Team.new(100)
Я часами пытался решить проблему безуспешно, следя за публикациями в Интернете.Я был готов переустановить RubyMine и решил связаться со службой поддержки по электронной почте.Я сказал, что перепробовал все, например:
- Перезагрузка компьютера
- Перезапуск RubyMine и запуск
rm -rf .idea
- Запуск
gem pristine --all
- Попытка с ruby 2.1.2 вместо 2.3.0 (т.е.
rvm install 2.1.2
rvm list
rvm use 2.1.2
) - Проверка моей версии RVM
rvm -v
rvm 1.26.11 - Проверка местоположениядрагоценных камней с
gem env
и which ruby
.Это указывает на то, что они находятся как в / usr / bin / ruby, так и в /Users/Ls/.rvm/rubies/ruby-2.3.0/bin/ruby - Удаление (т. Е.
gem uninstall ...
) релевантных гемов в обоихглобальное расположение Ruby и RVM по умолчанию - Переустановка их снова
$ gem install debug_inspector
$ gem install debugger-linecache
$ gem install ruby-debug-ide
$ gem install debase
$ gem install debase-ruby_core_source
$ gem install -i /Users/Ls/.rvm/gems/ruby-2.3.0@global debug_inspector
$ gem install -i /Users/Ls/.rvm/gems/ruby-2.3.0@global debug-linecache
$ gem install -i /Users/Ls/.rvm/gems/ruby-2.3.0@global ruby-debug-ide
$ gem install -i /Users/Ls/.rvm/gems/ruby-2.3.0@global debase
$ gem install -i /Users/Ls/.rvm/gems/ruby-2.3.0@global debase-ruby_core_source
$ gem install linecache19-0.5.13.gem
- Запуск
bundle update
- Обновление до RubyMine 2016.2.4
- Переход к файлу> Настройки по умолчанию> Языки и фреймворки> Ruby SDK и Gems> и выбор использования RVM: ruby-2.3.0
- Перейдите в «Выполнить»> «Редактировать конфигурации для текущего файла ruby» и на вкладке «Конфигурация» нажмите «Использовать другой SDK»"и выбираю RVM: ruby-2.3.0 [global] (я также пытался выбрать только RVM: ruby-2.3.0)
Solution
Я получил отзыв от службы поддержки RubyMineпредлагая показать им вывод gem list
и включить подробный вывод (Настройки> Построение, Выполнение, Развертывание> Отладчик> Подробный отладчик).
Вместо немедленного ответа их отзывы дали мне сильную подсказкудолжно быть вызвано конфликтом драгоценных камней, поэтому яя применил следующий подход, который заставил его снова работать!
- Очистил кэш RubyMine
File > Invalidate Caches & Restart > Invalidate Caches & Restart
- Показал гемы Ruby, хранящиеся глобально, в RVM 2.3.0 (глобальный) и вRVM 2.3.0 (по умолчанию).Примечание: я отфильтровал список, показанный ниже, чтобы отобразить только соответствующие
$ GEM_PATH=$GEM_HOME gem list
LOCAL GEMS
debase (0.2.1)
debase-ruby_core_source (0.9.2)
debug_inspector (0.0.2)
debugger-linecache (1.2.0)
linecache19 (0.5.13)
ruby-debug-ide (0.6.1.beta2, 0.6.0)
ruby_core_source (0.1.5)
$ rvm ruby-2.3.0 do gem list
LOCAL GEMS
debase (0.2.1)
debase-ruby_core_source (0.9.2)
debug_inspector (0.0.2)
debugger-linecache (1.2.0)
linecache19 (0.5.13)
ruby-debug-ide (0.6.1.beta2, 0.6.0)
ruby_core_source (0.1.5)
$ rvm ruby-2.3.0 @global do gem list
LOCAL GEMS
debase (0.2.1)
debase-ruby_core_source (0.9.2)
debug_inspector (0.0.2)
linecache19 (0.5.13)
ruby-debug-ide (0.6.0)
- Установлена последняя версия Ruby
$ rvm install ruby-2.3.1
- Показаны гемы Ruby в RVM 2.3.1 (глобальный) и RVM 2.3.1 (по умолчанию).Оба с одинаковым результатом
$ rvm ruby-2.3.1 do gem list
$ rvm ruby-2.3.1 @global do gem list
LOCAL GEMS
bigdecimal (1.2.8)
did_you_mean (1.0.0)
gem-wrappers (1.2.7)
io-console (0.4.5)
json (1.8.3)
minitest (5.8.3)
net-telnet (0.1.1)
power_assert (0.2.6)
psych (2.0.17)
rake (10.4.2)
rdoc (4.2.1)
rvm (1.11.3.9)
test-unit (3.1.5)
- Проверена текущая версия RVM и обновлена с 1.26.11 до последней версии 1.27.0
$ rvm -v
$ rvm get stable
$ rvm reload
$ rvm list
- Создан Gemset специально для размещения драгоценных камней для тестирования функциональности с использованием RubyMine https://rvm.io/gemsets/basics
rvm ruby-2.3.1 do rvm gemset create rubymine_2016_4_2
- Проверенная версия Ruby изменилась
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
- Открыл RubyMine 2016_2_4 и перешел в File>Настройки по умолчанию> Языки и рамки> Ruby SDK и Gems.Я отменил выбор RVM: ruby-2.3.0, а затем вместо этого выбрал RVM: ruby-2.3.1 rubymine_2016_2_4.Затем я щелкнул значок зеленой галочки, чтобы использовать его для проекта, и, наконец, нажал кнопку OK
- С открытым файлом team.rb, который я хотел отладить, я открыл «Выполнить»> «Редактировать конфигурации».Затем я выбрал Other SDK: RVM: ruby-2.3.1 [rubymine_2016_2_4] и, наконец, нажал кнопку «ОК».Это вызвало появление всплывающего окна, в котором говорилось: «Требуемая отладчиком гема debase в данный момент не установлена. Хотите установить?».Я нажал Да
- . Проверено, чтобы увидеть, как RubyMine изменил мой пользовательский набор rubymine_2016_2_4
$ rvm ruby-2.3.1@rubymine_2016_2_4 do gem list
LOCAL GEMS
bigdecimal (1.2.8)
debase (0.2.2.beta8, 0.2.1)
debase-ruby_core_source (0.9.2)
did_you_mean (1.0.0)
gem-wrappers (1.2.7)
io-console (0.4.5)
json (1.8.3)
minitest (5.8.3)
net-telnet (0.1.1)
power_assert (0.2.6)
psych (2.0.17)
rake (10.4.2)
rdoc (4.2.1)
ruby-debug-ide (0.6.1.beta2)
rvm (1.11.3.9)
test-unit (3.1.5)
- Попытался снова выполнить отладку, установив точку останова вПример файла ruby team.rb и запустите Run> Debug.Это работало и утешало это отображало
0>
вместо Process finished with exit code 0