0
Help us understand the problem. What are the problem?

posted at

updated at

AWS cloud9でサーバー起動時に"Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8."というエラーで困った

エラー内容

rails new で新しくアプリを作成し、ブラウザのホストを許可した後、rails sでサーバーを立ち上げた時に以下のエラーが発生!
スクリーンショット 2022-08-03 15.47.12.png

解消方法

こちらの記事に助けていただきました👇
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してエラーが解消されているか確認すると、エラーが出ず、いつものブラウザに戻っているはずです。
スクリーンショット 2022-08-03 15.43.20.png

まとめ

初めてのエラーでしたが、先人たちの記事のおかげで解決することができました!!

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?