問題
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 にブレークポイントを設定し、[実行] > [デバッグ] を実行すると、動作しました (コンソールでは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
- 2.3.0 の代わりに ruby 2.1.2 を試す (つまり
rvm install 2.1.2 rvm list rvm use 2.1.2)
- RVM バージョン
rvm -vrvm 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 をアンインストール (つまり)
- それらを再インストールする
$ 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 と Gem] に移動し、RVM の使用を選択します: ruby-2.3.0
- 実行 > 現在の ruby ファイルの構成の編集に移動し、構成タブで [他の SDK を使用] をクリックし、RVM: ruby-2.3.0 [global] を選択します (RVM: ruby-2.3.0 のみを選択することも試みました)。
解決
RubyMine サポートからgem list、詳細出力 ([設定] > [ビルド、実行、デプロイ] > [デバッガ] > [詳細デバッガ]) の出力を表示してオンにすることを提案するフィードバックがありました。
彼らのフィードバックはすぐに返信する代わりに、gem の競合が原因であるに違いないという強力な手がかりを与えてくれたので、次のアプローチを試してみました。
- RubyMine キャッシュをクリアしました
File > Invalidate Caches & Restart > Invalidate Caches & Restart
- グローバル、RVM 2.3.0 (グローバル)、および RVM 2.3.0 (デフォルト) に保存されている Ruby gem を表示しました。注:関連するものだけを表示するために、以下に示すリストをフィルタリングしました
$ 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
- RVM 2.3.1 (グローバル) と RVM 2.3.1 (デフォルト) の Ruby gem を表示しました。どちらも同じ結果
$ 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
- RubyMine https://rvm.io/gemsets/basicsを使用して機能をテストするための宝石を収容するための特別な Gemset を作成しました
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 を開き、[ファイル] > [デフォルト設定] > [言語とフレームワーク] > [Ruby SDK と Gem] に移動しました。RVM: ruby-2.3.0 の選択を解除し、代わりに RVM: ruby-2.3.1 rubymine_2016_2_4 を選択しました。次に、「緑色のチェックマーク」アイコンをクリックしてプロジェクトに使用し、最後に [OK] をクリックしました。
- デバッグしたい team.rb ファイルを開いた状態で、Run > Edit Configurations を開きました。次に、Other SDK: RVM: ruby-2.3.1 [rubymine_2016_2_4] を選択し、最後に [OK] をクリックしました。これにより、「デバッガーが必要とする gem debase が現在インストールされていません。インストールしますか?」というポップアップ ウィンドウが表示されました。はいをクリックしました
- RubyMine がカスタム rubymine_2016_2_4 gemset をどのように変更したかを確認しました
$ 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