0
0

rails cが起動しないトラブルシュート

Posted at

環境

Ubuntu20.4
Ruby2.6
Rails5.2

はじめに

rails cをしたところ次のようなエラーが大量に出ました。この事象のトラブルシュートです。

$rails c
Traceback (most recent call last):
        37: from -e:1:in `<main>'
        36: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        35: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        34: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:285:in `load'
        33: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:257:in `load_dependency'
        32: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:285:in `block in load'
        31: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:285:in `load'
        30: from /vagrant/raku_renkei/bin/rails:9:in `<main>'
        29: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `require'
        28: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:257:in `load_dependency'
        27: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `block in require'
        26: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
        25: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
        24: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/commands.rb:18:in `<main>'
        23: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command.rb:44:in `invoke'
        22: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command.rb:70:in `find_by_namespace'
        21: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command/behavior.rb:79:in `lookup'
        20: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command/behavior.rb:79:in `each'
        19: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command/behavior.rb:80:in `block in lookup'
        18: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command/behavior.rb:80:in `each'
        17: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/command/behavior.rb:84:in `block (2 levels) in lookup'
        16: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `require'
        15: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:257:in `load_dependency'
        14: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `block in require'
        13: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
        12: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
        11: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/commands/console/console_command.rb:4:in `<main>'
        10: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `require'
         9: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:257:in `load_dependency'
         8: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `block in require'
         7: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
         6: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
         5: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/2.6.0/irb/completion.rb:10:in `<main>'
         4: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `require'
         3: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:257:in `load_dependency'
         2: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/activesupport-5.2.8.1/lib/active_support/dependencies.rb:291:in `block in require'
         1: from /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/vagrant/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': cannot load such file -- /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-linux/readline.so (LoadError)

どうも多くのgemでエラーが出ているようです。rails sは正常に動いているため、恐らくgem自体の問題ではなさそうです。ポイントになるのは最終行のエラーだろうと目星を付けました。readline.soが本当にないのか検索してみたところ、確かに存在していませんでした。

cannot load such file -- /home/vagrant/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-linux/readline.so (LoadError)

やったこと

readlineというLinuxのライブラリがないことが原因のようです。readlineをインストールすれば解決すると思われますが、代わりに、rb-readlineというgemで対応ができるようです。readlineライブラリがなくても動作できる、Ruby専用のreadlineという位置づけのようです。

Gemfileに記述します。

gem 'rb-readline'

インストールします。

$bundel install

動作確認

うまく動作されるようになりました。

$rails c
Running via Spring preloader in process 3575
Loading development environment (Rails 5.2.8.1)
[1] pry(main)>

参考

こちらの情報を参考にさせてもらいました。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0