最近はRails 6.0 を使用していたのですが、久しぶりに Rails 5.0 を使用したら色々とエラーを出しまくってしまいました、、、、。
環境
Cloud9
ruby 2.6.3p62
Rails 5.0.7.2
一つ目のエラー
/home/ubuntu/.rvm/gems/ruby-2.6.3/gems/railties-5.0.7.2/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `hosts' for #<Rails::Application::Configuration:0x000055bfeaa676d8> (NoMethodError)
rails s
を実行したらところでタイトルのエラーが発生しました。
rails new hello
として、アプリケーションを作成しただけなのに、、、、、、。
と思いましたが、そんなことは無いです。
Rails 6.0 の時にはいつもやっていた config/environments/development.rb
のファイルに下記を追加していました。
Rails.application.configure do . . . # Cloud9 への接続を許可する config.hosts.clear end
思い当たるのはここ!
なので、とりあえず削除して再度サーバー起動です。
ubuntu:~/environment/hello $ rails s => Booting Puma => Rails 5.0.7.2 application starting in development on http://localhost:8080 => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.12.6 (ruby 2.6.3-p62), codename: Llamas in Pajamas * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://localhost:8080 Use Ctrl-C to stop
はい、無事に起動しました。
続いて、ブラウザでの表示です。
二つ目のエラー
Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)
また、エラー発生です。
どうもこれは sqlite3 のバージョンがあっていなさそうですね。
現在のGemfileの設定では
gem 'sqlite3'
となっていますので、
gem 'sqlite3', '~> 1.3.0'
に変更します。(1.3.6 の方が良かったのか?と後から思いましたが、、、)
bundle install
を実行して、再度サーバー起動です。
ブラウザの表示もして見ます。
無事に初期画面が表示されました。
何度やっても最初の環境設定は失敗しますね(泣)