У меня была очень похожая проблема - заставить Eclipse распознавать мои установленные драгоценные камни.
Я использовал rvm
, по умолчанию указывающий на ruby 2.1.0.
Код ruby, который я отлаживал, имел вверху require 'mail'
.
При запуске или отладке скрипта консоль отображала ошибку:
/Users/username/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- mail (LoadError)
from /Users/username/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
`<main>'
Eclipse настроил правильный ruby в настройках> Ruby> Интерпретаторы: /Users/username/.rvm/rubies/ruby-2.1.0/bin/ruby
Я знал, что драгоценный камень mail
был установлен для этого рубина вне Eclipse:
$ gem which mail
/Users/username/.rvm/gems/ruby-2.1.0/gems/mail-2.6.3/lib/mail.rb
Я попытался @Don Kirkby предложить добавить -rubygems
в качестве аргумента интерпретатора в конфигурации отладки, но он все еще не работал.
Что DID заставило его работать, как ни странно, было добавить переменные GEM_HOME
и GEM_PATH
в раздел Environment Конфигурации отладки.
Я нашел правильные значения (установленные rvm, я полагаю), повторив их в терминале вне Eclipse:
$ echo $GEM_HOME
/Users/username/.rvm/gems/ruby-2.1.0
$ echo $GEM_PATH
/Users/username/.rvm/gems/ruby-2.1.0:/Users/username/.rvm/gems/ruby-2.1.0@global
При добавлении этих двух переменных среды в конфигурации отладки> вкладка «Среда» отладка работала в Eclipse с использованием встроенного отладчика Ruby в качестве механизма отладки в настройках.
Кстати, я попытался использовать движок Fast Ruby Debugger (ruby-debug), но получил эту ошибку:
dyld: lazy symbol binding failed: Symbol not found: _rb_vm_get_sourceline
Referenced from: /Users/username/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/debugger-1.6.8/ruby_debug.bundle
Expected in: flat namespace
dyld: Symbol not found: _rb_vm_get_sourceline
Referenced from: /Users/username/.rvm/gems/ruby-2.1.0/extensions/x86_64-darwin-12/2.1.0-static/debugger-1.6.8/ruby_debug.bundle
Expected in: flat namespace
Sidenote: Попытка отыскать исправление ошибки Symbol not found
для движка Fast Ruby Debugger привела меня к этой теме: Отладка в ruby 1.9 , что, по-видимому, не означает, что ни ruby-debug
, ни debugger
gem подходит для использования с ruby 2.0+, и вместо этого рекомендуется byebug gem. Но так как я не вижу способа использовать byebug
с Eclipse, я просто использовал движок Ruby Built-In Debugger
с камнями debugger
и ruby-debug-ide
:
$ gem install debugger
Successfully installed debugger-1.6.8
$ gem install ruby-debug-ide
Successfully installed ruby-debug-ide-0.4.26
который я получил из этого поста: https://endocode.com/blog/2012/09/03/debugging-ruby-1-9-3-applications-in-eclipse/
Надеюсь, это полезно для тех, кто пытается отладить Ruby 1.9 / 2.0 + при работе с Eclipse.