Rails4でデバッグ用にPryを入れようと思ってGemfileにこんな風に書いた。

group :development do
  gem 'pry'
  gem 'pry-rails'
  gem 'pry-byebug'
  gem 'pry-stack_explorer'
end

これでrails consoleを起動してゴニョゴニョしているとなんだか見慣れないエラーが…

(pry) output error: #<NoMethodError: undefined method `pager' for nil:NilClass>

Railsのせいかどうかを確認するためにPry単体で起動してみてもダメだった。

% pry
[1] pry(main)> str = "hogehoge"
(pry) output error: #<NoMethodError: undefined method `pager' for nil:NilClass>

その上最悪なのは、こういうのを調べるときはいつもPryを使うんだけど、Pryの出力が壊れているからそういうわけにもいかないということ。

少し前に書いたサンプルアプリケーションでは動いていた気がするからPryのバージョンじゃね?と当たりをつけ、Gemfileを少し書き換えた。

group :development do
  gem 'pry', '< 0.10.0'
  gem 'pry-rails'
  gem 'pry-byebug'
  gem 'pry-stack_explorer'
end

これでbundle update pryを行うと、例えばバージョン0.9.12.6あたりがインストールされることになる。

同じようにPry単体で実行してみると、、、

% pry
[1] pry(main)> str = "hogehoge"
=> "hogehoge"

ちゃんと出力されている。0.10.0の不具合だったようだ。

使う分にはとりあえずこれでOK。気が向いたらissueでも覗いてみようと思う。