最早、環境設定の段階で色々とつまづいております。(よくある話)
今回の問題としては、二つ。
- アプリケーション作成用のフォルダ作成時にエラーメッセージが出る。
→フォルダ自体はできている。 - Railsコマンドでサーバ起動できない。
→具体的には「rails s
」コマンドを実行するとエラーメッセージが出る。
→ブラウザで接続しようとしても、Ruby on Railsで準備されているページは表示されない。
エラーメッセージの内容は二つとも下の通り。
Could not find gem 'sqlite3 (~> 1.4) x64-mingw32' in any of the gem sources listed in your Gemfile.Run `bundle install` to install missing gems.
目次
アプリケーションフォルダ問題の対処
これに関しては検索をすれば結構見つかるのですが、
①一度、「rails new test
」を実行してフォルダを作る。(testはフォルダ名)
②作成したtestフォルダの中にあるGemfileをメモ帳で開き、「gem "sqlite3", "~> 1.4"
」を「gem "sqlite3", "~> 1.3", ">= 1.3.6"
」に書き換えて保存。
③もう一度、「rails new myapp
」を実行。
④「Overwrite D:/ruby_lessons/test/Gemfile? (enter "h" for help) [Ynaqdhm]
」はnでEnter。
という手順でエラーが回避できます。
サーバ起動ができない問題の対処をしたかった。
これが結論が出るまで非常に時間がかかりました。
まず、エラーメッセージが同じであることからsqlite3との兼ね合いで出ているエラーだと考えられます。
で、こちらを参考に「C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems\activerecord-6.0.0\lib\active_record\connection_adapters
」フォルダにある「sqlite3_adapter.rb
」を開いて 「gem "sqlite3", "~> 1.4"
」を「gem "sqlite3", "~> 1.3", ">= 1.3.6"
」に書き換えて保存して起動しようとしてみたのですが……ダメでした。
これをしてみて、再度実行した結果は以下。
$ rails s
Could not find sqlite3-1.3.13-x64-mingw32 in any of the sources
Run bundle install to install missing gems.
結論
バージョン指定とかフォルダ名指定とかの場所を探せば対処できなくもないのでしょうが……2019年9月11日時点でRuby on Railsを使う際にはRubyは2.5以下のバージョンを使いましょう!!
いや、あきらめたくはなかったです。しかし、調査しつくした結果、付け焼刃でRubyやっただけの私にはこの結論でした。
いつか、本当に解決できるようになってギャフンと言わせてやりたいです。(誰を?)
こんな内容ですみませんでした;;