Pry起動時にエラーが出る件への対処法

ruby

とある時点から、コマンドラインからpryを起動すると、下のようなエラーが発生するようになりました。

  1. pry起動時にエラー発生
  2. 参考

pry起動時にエラー発生

1
2
3
4
5
6
7
8
9
$ pry
    Sorry, you can't use byebug without Readline. To solve this, you need to
    rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
    install libreadline-dev` and then reinstall your Ruby.
/Users/hoge/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-0.10.3/lib/pry.rb:14: warning: already initialized constant Pry::DEFAULT_HOOKS
/Users/hoge/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-0.10.3/lib/pry.rb:14: warning: previous definition of DEFAULT_HOOKS was here
/Users/hoge/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-0.10.3/lib/pry.rb:20: warning: already initialized constant Pry::DEFAULT_PRINT
/Users/hoge/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-0.10.3/lib/pry.rb:20: warning: previous definition of DEFAULT_PRINT was here
(長いので省略)

結局Rubyを再インストールすることで無事に動くようになりました。

1
2
$ rbenv uninstall 2.1.2
$ rbenv install 2.1.2

そもそもの原因は正確にはわからないのですが、おそらくhomebrewをupdateしたのがきっかけだと思います。

ちなみに、rubyを再インストールすると、そのバージョンに紐づくライブラリも全て削除されてしまうので、使うものはまたインストールする必要があります。pryもそうです。

binding.pry時にnextcontinueでステップ実行できなくなったなぁ、とちょっとハマりましたが、pry-byebugも入れる必要がありました。

参考

“Sorry, you can’t use byebug without Readline” #289