Add gem ‘sqlite3’というエラーが出てRailsのコントローラーが作成できない時の対処法


Railsのコントローラーが作れない!??

どうも、Linです。空気、読みましたね。

 

先日、プロゲートのRuby on Rails5コースを終了し、いよいよローカル環境でRailsアプリを作成し始めました。

しかしながら、基本中の基本である、

コントローラーを作成する

というフェーズで躓いてしまったのです。

もうね、作れない、何度やっても。

 

searchというコントローラーを作成するために

というコマンドを打ってみたんですが、次のようなエラーが発生してしまいました。

Add gem ‘sqlite3’ to your Gemfile

(Gemfileにsqlite3を加えろ!)

と書いてあったので、Gemfileを確認してみたところ、すでにこの記述は存在しているっ!!

どういうことなんだと頭を抱えることになりました。

 

同じエラーでつまづいている仲間がいないかググってみたところ、こちらのteratailのページに遭遇。

gem ‘sqlite3’, ‘~> 1.3.6’に変えるとうまく動作すると思います。

というアンサーがベストに選ばれていたので、試してみたんですが、今度は次のようなエラーが出てしまいました。

事態は良くなるどころかむしろ悪化。

これではアプリ開発どころではないので、今度は自分がteratailで質問してみることにしました笑

 

 

teratailで質問して助けを求めた

teratailで質問してみたところ、半日後ぐらいに1件の回答が届きました。

手元の bundler のバージョンが新しすぎるようですね。

gem install bundler を実行して古いものを入れるか、いっそ最新の Rails 5 を使用するのをお勧めします。

個人的には、これから新規でアプリを作成するのでしたら古い Rails 4 を使う理由はあまりないと思います(そろそろ Rails 6 も出ますし)。

なっ、なるほど・・・・

Rails初心者のぼくは古いbundlerとか入れられそうになかったので、いっそ新しいRails5にバージョンアップすることにしました。

っというか、Rails6になろうとしてるんですね・・・・笑

 

冒頭にも書きましたがぼくが利用していたRailsのバージョンは4。

TECH::CAMPで勉強したのがRails4だったことと、まだまだネットの情報がRails4のものが多かったのでRails5へバージョンアップしてなかったのです。

しかしながら、そのRails4に限界がきたのですね、うん。

 

 

Add gem ‘sqlite3’というエラーの解決策

ということで、早速Railsのバージョンを4から5にアップすることに。

こちらのプロゲートのページを参考にしながらRail5にアップデートしてみました。

具体的にいうと、

というコマンドでRails5にバージョンアップし、さらにGemfile中の

にして

でGemfileの変更内容を反映させます。

 

動作後に再びRailsアプリでcontrollerを作成してみたところ、コントローラーが無事に作れちゃったんです。

きたあ、コントローラー。これだよ、これ。

teratailで回答してくれたエンジニアさんありがとうございました。

 

このように、ググってもググっても解決できないエラーというものは存在していて、むしゃくしゃするときがあるでしょう。

そういう時は1人で抱え込まずteratailに質問を投稿してみるのもありですね。

 

それでは!

Lin

Pocket
LINEで送る

2件のコメント

  1. 僕もrails初学者で,この投稿を見てエラーを解決できました!
    投稿を今まで残していただきありがとうございます!

コメントはこちらからお願いします!



もう1本読んでみる