Rails Tutorialの4章にて、rails consoleをして対話的に操作する場面があります。

本文中ではCloud9等を使っている前提なのですが、私はRubyMineを使っているため、nanoの設定等をすっ飛ばしていきなりconsoleを使おうとしました。結果、以下のようなエラーが。

rrcs-172-254-99-29:sample_app yoshikiito$ rails console
Running via Spring preloader in process 82705
/Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require': dlopen(/Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib (LoadError)
  Referenced from: /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
  Reason: image not found - /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
        from /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
        from /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
        from /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
        from /Users/yoshikiito/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'

解決できたのでメモしておきます。

rb-readlineを追加して解決

Gemfilerb-readlineを追加してbundle installで解決しました。

Rails flavored ruby workspace rails tutorial Chapter4 rails flavored ruby sample app Gemfile rails flavored ruby

この状態でbundle installしたのち、再度rails consoleを行うことで、対話環境に入ることができました。よかった。

参考