M1芯片MacBook Big Sur系统安装mysql2 0.5.3 gem失败如何解决
M1芯片MacBook Big Sur系统安装mysql2 gem报错解决方案
报错核心原因是MySQL 8.x版本依赖zstd压缩库,M1架构下Homebrew安装的zstd路径没有被mysql2 gem的编译流程识别,导致链接阶段找不到对应库文件。
操作步骤
- 先通过Homebrew安装缺失的依赖
brew install zstd mysql
- 单独安装指定版本mysql2 gem,手动传入zstd的头文件和库文件路径
gem install mysql2 -v '0.5.3' -- --with-ldflags=-L/opt/homebrew/opt/zstd/lib --with-cppflags=-I/opt/homebrew/opt/zstd/include
- 如果你使用bundler管理依赖,先配置bundler的编译参数,后续直接执行
bundle install即可
bundle config set --local build.mysql2 "--with-ldflags=-L/opt/homebrew/opt/zstd/lib --with-cppflags=-I/opt/homebrew/opt/zstd/include" bundle install
异常排查
- 确认当前使用的Ruby为M1原生架构版本,非Rosetta转译版本,可执行
ruby -v结合arch命令验证架构 - 若使用自定义安装的MySQL/MariaDB,可额外添加mysql_config路径参数:
--with-mysql-config=/opt/homebrew/bin/mysql_config(替换为你实际的mysql_config路径即可) - 若系统为Intel架构Mac,将路径中的
/opt/homebrew替换为/usr/local即可
内容的提问来源于stack exchange,提问作者Santosh Aryal
相关产品推荐
相关产品推荐

