質問の長さについてお詫びしますが、私は愚かな間違いを犯していないことを明確にしたいと思います!
そのため、Ruby 1.9.3を使用して、RubyMine 4.5でデバッグを機能させるのに苦労しています。私の手順は、次のとおりです。
フレッシュ(つまり、以前のすべてのRubyおよびgemディレクトリを削除した)インストールRuby 1.9.3、Ruby Gems、DevKitおよびRails(following this guide )-これは正常に機能します。
次に、チームのRubyコードで作業を開始しようとします。RubyMineでディレクトリを開き(最初に.idea
ディレクトリを削除することを忘れないでください)、(コンソールから)実行するbundle install
を実行するように求められます。要求どおり。これで正常に完了します。RubyMineを再起動します。
次に、Rubyが機能していることを確認します:ツール> IRBコンソール> puts "test"
#test => nil
-動作しますデバッガー(SHIFT
+ F9
)を試して、次のメッセージを表示します。
The gem Ruby-debug-base19x required by the debugger is currently not installed. Would you like to install it?"
[キャンセル]をクリックしてGemfileを確認します。現在、デバッグに関連するものは次のとおりです。
# Debugging
gem 'debugger'
#gem 'Ruby-debug-base19', :require => false
#gem 'Ruby-debug19', :require => false
gem 'Ruby-prof', :require => false #, :git => 'git://github.com/wycats/Ruby-prof.git'
Ruby-debug
を支持するデバッガーがあるようです。 ここ を読んでいますが、debugger
では不十分なようです。 Ruby-debug-base19x
をインストールする必要があります。したがって、 [〜#〜] so [〜#〜] に続いて、Gemfileからデバッガーをコメントアウトして実行します。
gem install Ruby-debug-base19x --pre
gem install Ruby-debug-ide --pre
どちらが正常に動作するので、追加します
gem 'Ruby-debug-base19x', '0.11.30.pre10'
gem 'Ruby-debug-ide', '0.4.17.beta14'
私のGemfileに移動し、コンソールからbundle install
を実行します。
最後に、RubyMine内でデバッガーを開きます(SHIFT + F9)。そして、puts "test" #test => nil
は再び機能します。したがって、スクリプトのガターをダブルクリックしてブレークポイントを作成しようとすると、RubyMineが1秒間一時停止してから、次のようになります。
D:\Ruby\Ruby193\bin\Ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/Ruby-debug-ide-0.4.17.beta14/bin/rdebug-ide --dispatcher-port 55451 --port 55452 -- S:/code/account_groups/script/Rails console
Fast Debugger (Ruby-debug-ide 0.4.17.beta14, Ruby-debug-base 0.11.30.pre10) listens on 127.0.0.1:55452
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/debugger-1.1.4/lib/Ruby_debug.so: warning: already initialized constant VERSION
5992: Exception in DebugThread loop: undefined method `errmsg' for #<Debugger::ControlState:0x2a2f3e8>
Backtrace:
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/debugger-1.1.4/lib/Ruby-debug/command.rb:160:in `errmsg'
from: D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/debugger-1.1.4/lib/Ruby-debug/commands/breakpoints.rb:81:in `execute'
from: D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/Ruby-debug-ide-0.4.17.beta14/lib/Ruby-debug-ide/ide_processor.rb:89:in `block in process_commands'
from: D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/Ruby-debug-ide-0.4.17.beta14/lib/Ruby-debug-ide/ide_processor.rb:86:in `catch'
from: D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/Ruby-debug-ide-0.4.17.beta14/lib/Ruby-debug-ide/ide_processor.rb:86:in `process_commands'
from: D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/Ruby-debug-ide-0.4.17.beta14/lib/Ruby-debug-ide.rb:160:in `block in start_control'
Process finished with exit code 0
また、コードのバックアップコピーを使用して同じ手順を実行しようとしましたが、デバッガーをロードしようとすると次のエラーも発生します。
Uncaught exception: cannot load such file -- Ruby-debug
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
S:/code/account_groups_so/lib/systematic-online/r_spec_runner.rb:5:in `<top (required)>'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
S:/code/account_groups_so/config/environment.rb:12:in `block in <top (required)>'
S:/code/account_groups_so/config/environment.rb:12:in `each'
S:/code/account_groups_so/config/environment.rb:12:in `<top (required)>'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/railties-3.2.6/lib/Rails/application.rb:103:in `require_environment!'
D:/Ruby/Ruby193/lib/Ruby/gems/1.9.1/gems/railties-3.2.6/lib/Rails/commands.rb:40:in `<top (required)>'
S:/code/account_groups_so/script/Rails:6:in `require'
S:/code/account_groups_so/script/Rails:6:in `<top (required)>'
スクリプトには何も問題はなく(以前は問題なく使用していました)、トレースはRuby-debug-ide
に関連しているようです-何が起こっているのでしょうか?
助けてくれてありがとう-これは私を怒らせている!
[〜#〜] update [〜#〜]:RubyMine6 +はデバッガーgemをサポートします。
Gemfile
からgem 'debugger'
を必ず削除してください。これは既知の競合であり、RubyMineからのデバッグが中断されます。質問にリンクされている私の 別の回答 で述べられているように、デバッガーに関連するgemは2つだけ必要です。
Gemを削除した後、プロジェクト内のどこにも参照されていないことを確認する必要があります。この特定のケースでは、r_spec_runner.rb
にrequire 'Ruby-debug'
ステートメントがあり、cannot load such file -- Ruby-debug
を実行しようとするとRails console
エラーが発生しました。
この問題を回避するために、Gemfile
に次の行があります。gem 'debugger' unless ENV["RM_INFO"]
Jetbrainsからの解決策を文書化するためだけに:次のいずれかを使用します。
gem 'debugger', {group: [:test, :development]}.merge(ENV['RM_INFO'] ? {require: false} : {})
または:
gem 'pry-debug', {group: [:test, :development]}.merge(ENV['RM_INFO'] ? {require: false} : {})
これにより、Gemfile.lockが変更されないことが保証されるため、RubyMine環境でgemを必要としないことにより、RubyMineとvi/sublime/whateverが混在するグループが問題なく機能します。
私も同じ問題を抱えていて、それを機能させるのに何時間もかかりました。これが最終的にデバッガーを動かしたものです(これはRVMを使用しています):
rvm remove 1.9.3
rvm install 1.9.3 --with-gcc=clang
-これにより、「サポートされていないオプション '--with-libyaml'」というエラーが発生しますが、これによる悪影響はまだ確認されていません。rvm use 1.9.3
gem list | grep debug
--gem uninstall <found gems>
gem install linecache19-0.5.13.gem
デバッガーが動作を開始したのはそのときです。このRubyMineサポートディスカッションも参照してください: http://devnet.jetbrains.com/message/5443846#5443846
デバッガーに問題がありました。 Railsをインストールし、構成オプションのパスをRailsインストールでRuby.exeに設定すると、すべてが正常に機能します。
ついに今日、巨大な応急修理ハックでこれを機能させました。それをしたステップは
Sudo chmod -R 777 ~/.rvm
RubyMineに任せましょう
また、rake
以外に持っていたすべてのgemをアンインストールするようにしました。 reby-debug-ide
、Ruby-debug-base19x
、linecache19
、Ruby_core_source
、archive-tar-minitar
、およびcolumnize
が重要だと思います。また、rvm
をアンインストールし、clangで再インストールしました。しかし、私は最初にchmodのことをやってみます。 766に変更してみましたが、RubyMineが気に入らなかった。とても巨大なクラッジハックです。 Insecure world
について多くの警告が表示されますが、少なくともデバッガーは機能しています。 RubyMineの次のバージョンは古い Ruby-debug-base19x を使用せず、代わりに https://github.com/Ruby-debug で最近編集されたgemを使用することを確認してください。 =。だからうまくいけば、素晴らしいJetBrainsの誰かがそれを修正するでしょう。ところで、RubyMineをSudo mine
で実行しようとしましたが、それでもうまくいきませんでした。