エラー内容
rails new で新しくアプリを作成し、ブラウザのホストを許可した後、rails sでサーバーを立ち上げた時に以下のエラーが発生!
解消方法
こちらの記事に助けていただきました👇
https://mebee.info/2021/01/13/post-27973/
https://qiita.com/nosniklim/items/58154b3ba6ab9a26230c
エラー文からの考察
Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8.
SQLiteのバージョンが古い!と怒っているようです。
どのようにバージョンを更新すればいいのでしょうか?
SQLite3をアップデート
怖いかもしれませんが、私はこれで解決したので信じてついてきてください!
①アプリのディレクトリに移動し、以下を順番に実行
ec2-user:~/environment/"アプリ名" $ wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
ec2-user:~/environment/"アプリ名" $ tar xzvf sqlite-autoconf-3360000.tar.gz
②sqlite-autoconf-3360000というディレクトリに移動し、以下を順番に実行
ec2-user:~/environment/"アプリ名" $ cd sqlite-autoconf-3360000 //ここでディレクトリを移動
ec2-user:~/environment/"アプリ名"/sqlite-autoconf-3360000 $ ./configure --prefix=/opt/sqlite/sqlite3
ec2-user:~/environment/"アプリ名"/sqlite-autoconf-3360000 $ make
ec2-user:~/environment/"アプリ名"/sqlite-autoconf-3360000 $ sudo make install
③バージョンを確認
ec2-user:~/environment/"アプリ名"/sqlite-autoconf-3360000 $ /opt/sqlite/sqlite3/bin/sqlite3 --version
出力結果:3.36.0(私の場合)
④再度アプリのディレクトリへ移動し、以下を順番に実行
ec2-user:~/environment/"アプリ名"/sqlite-autoconf-3360000 $ cd ../ //アプリのディレクトリに戻る
ec2-user:~/environment/"アプリ名" $ gem uninstall sqlite3
👆gem uninstall sqlite3 を実行した際、「どれを消しますか?」みたいなことを英語で聞かれます。私は「全て消す(英語)」を選択しました。
その後、以下を実行
ec2-user:~/environment/"アプリ名" $ gem install sqlite3 -- --with-sqlite3-include=/opt/sqlite/sqlite3/include --with-sqlite3-lib=/opt/sqlite/sqlite3/lib
⑤rails sしてエラーが解消されているか確認すると、エラーが出ず、いつものブラウザに戻っているはずです。
まとめ
初めてのエラーでしたが、先人たちの記事のおかげで解決することができました!!