Gemfileにgem "mysql2"
とだけ書いてbundle install
したらld: library not found for -lzstd
的なエラーが出た。普段PostgreSQLばかり使っているのでちょっと面食らったが、適当にググって解決したのでメモ。
前提
まず https://github.com/brianmario/mysql2?tab=readme-ov-file#mac-os-xにしたがってopenssl入れたり$ bundle config --local build.mysql2 -- --with-openssl-dir=$(brew --prefix openssl@1.1)
してからbundle install
した。MySQL自体はHomebrewで既に入れてあった。で、件のエラー。
Rubyバージョンは3.2.2で、asdfで入れたもの。macOSはVentura 13.4。チップはApple M2 Pro。MySQLバージョンは8.2.0_1。
解決まで
調べると色々な記事が出てきたが、issueがあったので主にここを見る。色々試した結果、結局export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
したらbundle install
できるようになった。
環境構築って大変。