😇

SQLite3のインストールエラー

2024/08/03に公開

エラー事象

まずbundle exec ruby app.rbで実行ができずエラー

Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.4), already activated sqlite3-2.0.3-arm64-darwin. Make sure all dependencies are added to Gemfile. (LoadError)

えええ、sqliteを1.4系以下でおなしゃすって言ってきてる?
Gemfileでバージョンを指定してやってみても、エラー

An error occurred while installing sqlite3 (1.3.13), and Bundler cannot continue.

そもそもsqlite3をインストールしてるのか?
など疑念が疑念を呼ぶ。

解決策

https://code-bug.net/entry/2018/12/11/090048/

https://qiita.com/Kta-M/items/254a1ba141827a989cb7

xcodeが古いとダメみたい?
rubyのバージョンも。
brewもbundlerも何から何までアップデートしてもダメ...

お手上げ状態だったので、
https://qiita.com/Taku3939/items/76356f46f53946962d2e
これも参考にして見てみる

> gem list

いろいろインストールしてるgemfileが一覧で出てくる、でおや?

>sqlite3 (2.0.3 arm64-darwin, 2.0.2 arm64-darwin, 1.7.3 arm64-darwin)

これって1.7.3とかじゃないと使えないの?
早速Gemfileを下記に変えてみる

gem 'sqlite3', "~> 1.7.3"

すかさず

> bundle install

そしてさらにすかさずアプリ実行

> bundle exec ruby app.rb

う、動いた...
安心も束の間。こんな記事を発見
https://qiita.com/flowerhill/items/bb1e99bd87b151c0129b

え?1.7.3まで指定しなくていいの?

gem 'sqlite3', "~> 1.3"

※同じことをループ

う、動いた...
え、じゃあ

gem 'sqlite3', "~> 1.4"

動くじゃないか!!

少し賢くなったような本質は捉えきれてないような。

こちらもバージョン管理ということで参考にしました
https://qiita.com/EisKern/items/4df5c9d7cb61f352b0d4

Discussion