初心者プログラマのひとり勉強部屋

若葉マークのプログラマー☺️

【ruby on rails】rails6でmySQL2がインストールエラー

こんにちは!

今回は最新のrails6で色々テストしてみようとしてインストールし、「bunndle install」でmySQL2-0.5.3のインストールに失敗した件です。

 

【結論】

opensslのパス指定してインストールで、0.5.3は無理だったので0.5.2をインストールして解決(あるいはbrewアップデート)

 

 

 

【経緯】

・最初基本的にこちらの方法でインストールさせていただきました!

https://qiita.com/sasakura_870/items/44baadd3546eae4554c1

が、、、

何のエラーもなく順調順調⭐︎と思っていたところ、データベース作成してみたらいつもとコマンドが違う・・?

よくみたらrails6の初期設定のDBは「sqLite」だそうです。しょうがないので1度作成したアプリを削除し、

https://qiita.com/sk4/items/9547a8b082e741c88589

を参考にインストールしました!

 

ここから本題です。

mySQLがインストールできない!

 

$bundle install

--------------略

Results logged to /Users/ユーザ名/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.3/gem_make.out
 
An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.

--------------略

→mysql2 -v '0.5.3'がインストールできない!

→/Users/ユーザ名/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-18/2.5.0-static/mysql2-0.5.3/gem_make.outのログ見ろとあるのでとりあえずみてみる。

ld: library not found for -limported_openssl

opensslのパス間違いです。。

 

■opensslの情報調べる

$ brew info openssl

For compilers to find openssl@1.1 you may need to set:

  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"

  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

↑ここが重要

 

■psth指定してインストール

$ gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/' -- "--with-cppFLAGS=-I/usr/local/opt/openssl@1.1/include --with-ldflags=LDFLAGS=-L/usr/local/opt/openssl@1.1/lib"

→何回見直してやってもだめ

 

■gemfileの”mySQL2-0.5.3”→”mySQL2-0.5.2”に変更(ネットの記事がみなさん0.5.2だったから)

解決!!

 

 

(追記)

後日同じエラーが出た際、上記の方法で無理でしたが、上記を試した後

$brew update && brew upgrade

$bundle install

でバージョン関係なく解決しました。

 ※詳細はこちらに記載しています

https://mocomo012.hatenablog.com/entry/2020/03/22/233056