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’に変えるとうまく動作すると思います。

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

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

これではRailsアプリ開発どころではなくなりそうだったので、今度は自分が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にアップデートしてみたのです。

具体的にいうと、

$ gem install rails -v 5.0.3

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

にして

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

 

この動作後に再びRailsアプリでcontrollerを作成してみたところ、無事にいつも通り作れちゃったんです。

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

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

 

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

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

 

それでは!

Lin


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



もう1本読んでみる