mysql2 の gem をインストールするとき、以下のエラーが出ることがあります。
ld: library not found for -lssl
SSLのライブラリがないとのことなので openssl を入れます。
% brew install openssl
openssl のパスをセットします。
% bundle config --global build.mysql2 --with-opt-dir="$(brew --prefix openssl)"
この状態で gem install に成功すれば良いですが、
別の以下のエラーが出ることがあります。
ld: library not found for -lzstd
zstd をインストールしましょう。
% brew install zstd
zstd のインストールが成功したら、 以下のコマンドで zstd のバージョンを確認します。
% ls /opt/homebrew/Cellar/zstd 1.5.2
zstd のパスを設定します。
zstd のバージョンの番号 1.5.2 は、その時の数字に変更してください。
% bundle config --local build.mysql2 "--with-opt-dir="$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/Cellar/zstd/1.5.2/lib""
正しく設定できていれば、gem install に成功するはずです。
めでたしめでたし
以下記事を参考にしました。
ld: library not found for -lzstd while bundle install for mysql2 gem Ruby on macOS Big Sur 11.4
https://stackoverflow.com/questions/67840691/ld-library-not-found-for-lzstd-while-bundle-install-for-mysql2-gem-ruby-on-mac
おすすめRuby書籍
研鑽Rubyプログラミング β版
https://www.lambdanote.com/products/products-polished-ruby-beta
プロを目指す人のためのRuby入門[改訂2版] – 2021/12/2
Ruby on Rails 6 実践ガイド impress top gearシリーズ
現場で使える Ruby on Rails 5速習実践ガイド
Ruby on Rails 6 超入門
コメント