【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
--------------略
--------------略
→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だったから)
解決!!
(追記)
後日同じエラーが出た際、上記の方法で無理でしたが、上記を試した後
↓
$bundle install
でバージョン関係なく解決しました。
※詳細はこちらに記載しています