macOS で rails の mysql2 gem をインストールするときエラー

rails

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 超入門

コメント

タイトルとURLをコピーしました