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でも覗いてみようと思う。