Rails5 gemでmysql2が インストールできない
2019.05.05
この記事は最終更新日から1年以上が経過しています。
Rails5で、mysql2のgemパッケージを、Gemファイルに追記し、
bundleインストールしようとしたら、エラーでコケる。
inking shared-object mysql2/mysql2.bundle ld: library not found for -lssl clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [mysql2.bundle] Error 1 An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.
うん?なんだこれ。
エラーで表示している以下のコマンドを試す。
$ gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/‘
状況は変わらず。
うん?なんだこれ。
ネット上では、xcodeが原因だったり、権限が問題だったりと上がっていまして試してみる。
$ xcode-select —install
こちらも試すが状況変わらず。
で、結局原因は
こちらの指定をすれば解決しました。
Railsのプロジェクトで以下を実行。
$ bundle config --local build.mysql2 "--with-cppflags=-I/usr/local/opt/openssl/include" $ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
すると、.bundle/configに(なければ生成される)以下が追記される。
BUNDLE_BUILD__MYSQL2: "--with-ldflags=-L/usr/local/opt/openssl/lib"
再度、bundle install
$ bundle install
無事、インストールされました。