LoginSignup
17
13

More than 3 years have passed since last update.

rails sできない時の対処法

Last updated at Posted at 2019-02-15

Ruby on Railsで Rails serverコマンドをした時にサーバーが立ち上がらなかった時に対処したことをメモ。

エラー内容

rails sとしてローカル(http://192.168.33.10:3000/ )にアクセスすると,

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

といったようなメッセージが出て上手く動いていない。

ActiveRecordとはRuby on Railsにおいてデータベースとのやりとりに使われているフレームワーク?です。
なのでこのエラーはデータベース関連のエラーであると推測されます。

Rails db:migrateで確認

ターミナルを見返すとそもそもdb:migrateが上手くいってません

rails db:migrate
とすると
Gem::LoadError: can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile.
というエラー。

内容はGemのロードエラー。具体的にはsqlite3 (~> 1.3.6)がアクティベートできないけどsqlite3 (1.4.0)はアクティベートされてるよ、というもの。

おそらくRailsが最新版のsqlite3(1.4.0)を受け付けてないと推測。
ちなみに(~>1.3.6)とは '1.3.6以上1.4.0未満'という意味。

対処法:Gemfileの更新

Rails new したフォルダにあるGemfileの内容を変えましょう。
(初学者の私にとっては「???」状態でしたが。。。)

Gemfile
の中にある
gem 'sqlite3'
という部分を
gem 'sqlite3', '~> 1.3.6'
に変更しましょう。

これで
bundle update
bundle install
というコマンドをターミナル上で実行し、
rails s

晴れてRuby on Railsのデフォルト画面が現れるはず。

初学者でいきなり詰まったところだったのでメモを残します。

17
13
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13