🌵
M1 Macでmysql2インストール時のエラー対応
M1 MacでMySQLのインストールでコケるので対応をまとめておきます
環境
- Apple M1 Pro
- Ruby 3.1.1
- Rails 7.0.2.3
$ rails new hoge -d mysql
An error occurred while installing mysql2 (0.5.3), and Bundler cannot
continue.
In Gemfile:
mysql2
run bundle binstubs bundler
Could not find gem 'mysql2 (~> 0.5)' in locally installed gems.
OpenSSLに変更
$ openssl version
LibreSSL 2.8.3
OpenSSLと表示されるようであればスキップ
$ brew install openssl@3
$ brew link --force openssl@3
Linking /opt/homebrew/Cellar/openssl@3/3.0.2... 5494 symlinks created.
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
$ echo 'export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
bundle configのパスを変更
$ bundle config --local build.mysql2 "--with-ldflags=-L/opt/homebrew/opt/openssl@3/lib"
ライブラリのパスを変更
$ unset LIBRARY_PATH
$ export LIBRARY_PATH=:/opt/homebrew/Cellar/zstd/1.5.2/lib:/opt/homebrew/Cellar/openssl@3/3.1.1/lib/:/opt/homebrew/Cellar/zstd/1.5.2/lib:/opt/homebrew/Cellar/openssl@3/3.1.1/lib/
これで解決!
docker上ではコケないのにローカルでコケて困ってたから解決できてよかった
参考
Discussion