我在 Gemfile 中使用 Ruby 2.4.1 和 Pry Stack Explorer 遇到了这个问题:
gem 'pry'
gem 'pry-rescue'
gem 'pry-stack_explorer'
在插入 Pry 调试器时,我看到:
before_session hook failed: Pry::CommandError: Cannot locate this method: load. Invoke the 'gem-install pry-doc' Pry command to get access to Ruby Core documentation.
/Users/alexharvey/.rvm/gems/ruby-2.4.1/gems/pry-0.11.3/lib/pry/method.rb:489:in `pry_doc_info'
(see _pry_.hooks.errors to debug)
然后我尝试按照有关撬.hooks.errors 的说明进行操作:
[2] pry(#<MarkdownLint::Rule>)> puts _pry_.hooks.errors
Cannot locate this method: load. Invoke the 'gem-install pry-doc' Pry command to get access to Ruby Core documentation.
=> nil
所以我只是将 pry-doc 添加到我的 Gemfile 中。然后,我还有另一个问题。在尝试退出调试器时:
[2] pry(#<MarkdownLint::Rule>)>
when_started hook failed: NameError: uninitialized constant RubyVM::DebugInspector
/Users/alexharvey/.rvm/gems/ruby-2.4.1/gems/binding_of_caller-0.8.0/lib/binding_of_caller/mri2.rb:21:in `callers'
(see _pry_.hooks.errors to debug)
我发现我可以通过请求不是最新版本的 debug_inspector 来解决这个问题。
最后,为了成功使用 pry 和 pry-stack_explorer,我得到了:
gem 'pry'
gem 'pry-rescue'
gem 'pry-stack_explorer'
gem 'pry-doc'
gem 'debug_inspector', '<= 0.0.2'