
Rails4でデバッグ用にPryを入れようと思ってGemfileにこんな風に書いた。
1group :development do
2 gem 'pry'
3 gem 'pry-rails'
4 gem 'pry-byebug'
5 gem 'pry-stack_explorer'
6end
これでrails consoleを起動してゴニョゴニョしているとなんだか見慣れないエラーが…
(pry) output error: #<NoMethodError: undefined method `pager' for nil:NilClass>
Railsのせいかどうかを確認するためにPry単体で起動してみてもダメだった。
1% pry
2[1] pry(main)> str = "hogehoge"
3(pry) output error: #<NoMethodError: undefined method `pager' for nil:NilClass>
その上最悪なのは、こういうのを調べるときはいつもPryを使うんだけど、Pryの出力が壊れているからそういうわけにもいかないということ。
少し前に書いたサンプルアプリケーションでは動いていた気がするからPryのバージョンじゃね?と当たりをつけ、Gemfileを少し書き換えた。
1group :development do
2 gem 'pry', '< 0.10.0'
3 gem 'pry-rails'
4 gem 'pry-byebug'
5 gem 'pry-stack_explorer'
6end
これでbundle update pryを行うと、例えばバージョン0.9.12.6あたりがインストールされることになる。
同じようにPry単体で実行してみると、、、
1% pry
2[1] pry(main)> str = "hogehoge"
3=> "hogehoge"
ちゃんと出力されている。0.10.0の不具合だったようだ。
使う分にはとりあえずこれでOK。気が向いたらissueでも覗いてみようと思う。