问题
I'm busy with (finally) upgrading to Rails 4 and I've run into a problem with Pry-remote.
Problem:
When added binding.remote_pry
to my code it breaks the code but when I can't get into the debugger by typing pry-remote
. This used to work when running Rails 3 and Ruby 1.9.3.
Side note:
When running Rails s
instead of Pow and binding.pry
instead binding.remote_pry
, it falls into the debugger.
What I'm running:
- Pow 0.5.0
- ruby 2.1.5p273
- Rails 4.2.0
- OSX 10.9.5
Gemfile
gem 'pry'
gem 'pry-remote'
gem 'pry-stack_explorer'
gem 'pry-rails'
gem 'byebug'
gem 'pry-byebug'
Gemfile.lock
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (3.0.1)
byebug (~> 3.4)
pry (~> 0.10)
pry-rails (0.3.3)
pry (>= 0.9.10)
pry-remote (0.1.8)
pry (~> 0.9)
slop (~> 3.0)
pry-stack_explorer (0.4.9.2)
binding_of_caller (>= 0.7)
pry (>= 0.9.11)
EDIT 1: Also tried with Specs and without pry-byebug
- Pow 0.5.0
- ruby 2.2.1p85
- Rails 4.1.6
- OSX 10.9.5
--> Returns http://pastie.org/10054841
回答1:
I ran into a similar issue as you, maybe the same one. I was able to resolve it by uninstalling the pry-byebug
gem (version 3.1.0 before the uninstall).
If you want to give this a try, you can remove the gem from your Gemfile and run bundle install
. You may also need to restart your Pow server using touch tmp/restart.txt
.
What I'm running (for comparison):
- Pow 0.5.0
- ruby 2.2.1p85
- Rails 4.2.0
- OSX 10.10.2
回答2:
In your gemfile try: gem 'pry-byebug', '~> 1.3.3'
With pry-byebug 1.3.3
I was able to get pry-remote
to work. However in the pry-remote console I was not able to see any return value and had to manually do something like this:
Pry.config.print = Proc.new { |output, val| output.puts "=> #{val.inspect}" }
来源:https://stackoverflow.com/questions/28584593/pry-remote-with-pow-on-rails-4