現在windows10環境でRuby on Rails+MySQLの環境を構築しています。
MySQLは元々入れていたので、それ以外の環境を構築しDB作成コマンドをいれた所
————————————–
rake db:create
————————————–
「LoadError: cannot load such file — mysql2/2.6/mysql2」
が表示されてしまいました。
何このエラー?と色々調べたけれどわからなくて苦労したので
下記に備忘録を残そうと思います。
1.Rubyのインストール
————————————–
ruby -v
————————————–
×ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
〇ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
最初2.7を入れていたんだけど後に問題があって2.6に変更しました。
2.Ruby実行
実行
————————————–
ruby hello.rb
————————————–
このコマンドで実行されるのを確認
3.Railsのインストール
インストール
————————————–
gem install rails
————————————–
バージョン確認
————————————–
rails -v
————————————–
Rails 6.0.3.3
4.mysql2
mysql-connectorのZIPファイルをダウンロードしてCドライブに
コマンド
————————————–
gem install mysql2
————————————–
ERROR: Error installing mysql2:
The last version of mysql2 (>= 0) to support your Ruby & RubyGems was 0.5.3. Try installing it with `gem install mysql2 -v 0.5.3`
mysql2 requires Ruby version >= 2.2, < 2.7.dev. The current ruby version is 2.7.1.83.
RubyとRubyGemsをサポートするmysql2の最後のバージョン(> = 0)は0.5.3でした。
`gem install mysql2 -v0.5.3`でインストールしてみてください
mysql2にはRubyバージョン> = 2.2、<2.7.devが必要です。現在のルビーバージョンは2.7.1.83です。
→ということでrubyのバージョンを2.6にしました。
そのあともう一度実行したらエラーなくなりました。
————————————–
gem list mysql2
————————————–
→バージョンをメモしておきます
5.アプリ作成
#アプリ作成
————————————–
rails new testapp -d mysql
————————————–
このコマンドはプロジェクト作成したいディレクトリに移動してから実行します。
プロジェクトファイルが作成されました。
6.Gemfileの作成
Gemfileの作成
————————————–
bundle init
————————————–
プロジェクトのホームディレクトリにて
上記実行するとGemfileという雛形ファイルが作成されます
Gemfileを開いてrubyのバージョンとmysql2のバージョンを修正します。
————————————–
bundle install –path vendor/bundle
————————————–
→この辺はLaravelに似ている感じ。
7.DB作成
ホーム\testapp\config\database.yml
→DB設定を変更する
————————————–
rake db:create
————————————–
これを実行するとずっと
LoadError: cannot load such file — mysql2/2.6/mysql2
のエラーが出ていました。
エラーが出たので色々試行錯誤して何とか無事にDBがMySQLに自動生成されました!!
Gemfileの下記を修正したら解決しました。
————————————–
bundle install
————————————–
\\testapp\vendor\bundle\ruby\2.6.0\gems\mysql2-0.4.10-x64-mingw32
\\testapp\vendor\bundle\ruby\2.6.0\gems\mysql2-0.5.3-x64-mingw32
新たに下の0.5.3のフォルダが出来ていました。
gem list mysql2のバージョンが揃えばいけるのではと思いました。
とりあえず今日はここまで。
コメント