LoginSignup
1
1

More than 3 years have passed since last update.

bundle installが失敗(つづき)。gem「 MySQL2 」が原因だった件。

Last updated at Posted at 2020-06-11

背景

libv8の続きです。Mysqlのgemインストール時に以下のエラーが出ました。

Installing mysql2 0.5.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

環境

項目 内容
OS.Catalina v10.15.4
Ruby v2.5.1
Ruby On Rails v5.2.4.3
MySQL       v5.6  

内容

対応1)Mysqlのgemを再インストール
CMD>gem uninstall mysql2

Successfully uninstalled mysql2-0.4.10

CMD>gem install mysql2

Building native extensions. This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

bundle installしても、失敗してしまいます。

対応2)環境変数を設定し、再インストール
以下のコマンドを実行し、環境変数を変更する

CMD>export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"
CMD>export DYLD_LIBRARY_PATH="/usr/local/opt/mysql@5.6/:$DYLD_LIBRARY_PATH"
CMD>export LDFLAGS="-L/usr/local/opt/openssl/lib"
CMD>export CPPFLAGS="-I/usr/local/opt/openssl/include"

環境変数の確認

[\W staff@term]env
(省略)
LDFLAGS=-L/usr/local/opt/openssl/lib
CPPFLAGS=-I/usr/local/opt/openssl/include

→環境変数を変更したのち、同様に「bundle install」してもダメでした。

対応3)結局、こちらもbundlerの設定を変更する

CMD>bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"

これで、やっと「bundle install」が上手くいくようになりました。

参考記事

RailsプロジェクトでMySQLがbundle installできなかった
brew upgrade mysql で v8 がインストールされて rails server が起動しなくなったので v5.7 に戻す
mysql2 インストール時に 「ld: library not found for -limported_openssl」が表示された場合の対応
mysql2 gemインストール時のトラブルシュート

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1