Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
97
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Railsを始めてsqlite3まわりのエラーで躓いている人たちへ

2019/02/04から、ふつうにrails newをするとsqlite3まわりでエラーが起きるようになっています。
teratailを見ていたら、1日に数件これ関連の質問が上がってきて阿鼻叫喚な感じだったので、こちらにまとめておきます。

(2019/03/28 追記)
Rails5.2.3がリリースされました!
この問題は解消されています。めでたしめでたし。

エラーメッセージ

Puma caught this error: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. (LoadError)

対処法

Gemfileを開いて、

gem 'sqlite3'

の行を

gem 'sqlite3', '~> 1.3.6'

に変更し、

$ bundle install

を実行します。

それでもエラーが出る場合

こんなエラーが報告されています。

ActiveRecord::ConnectionNotEstablished No connection pool with 'primary' found.

もしくは

「プライマリ」の接続プールが見つかりません。

おそらく、gemの更新が反映されていません。
rails serverを再起動してください。

原因

Rails側のsqlite3のバージョン指定の問題です。
1.3.6以上、1.4.0未満しか受け付けないような指定になっていたのですが、2019/2/4にsqlite3のgemの1.4.0がリリースされたためエラーが出るようになりました。
以下の修正により、1.3.6以上、2.0.0未満のバージョンを受け付けるようになっています。
https://github.com/rails/rails/commit/6d5f2511e6d9b95a8ac8399c234aa6cd074af51d

既に5-2-stableブランチにもマージされているので、次のリリースでは問題が起きなくなっていると思います。

以下のissueとpull requestで議論されています。
https://github.com/rails/rails/issues/35153
https://github.com/rails/rails/pull/35154

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
97
Help us understand the problem. What are the problem?