You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS ARM环境安装mysql2 gem报错:找不到zlib库

解决mysql2 gem安装时ld: library not found for -lzlib错误

问题分析

安装mysql2 v0.5.4时出现链接器错误,说明编译工具无法找到zlib库文件——尽管已通过Homebrew安装zlib,但编译参数未正确指定其路径。

解决方案

方案1:直接在gem安装命令中指定zlib路径

执行以下命令,同时传入zlib的头文件和库文件路径:

gem install mysql2 -v '0.5.4' -- \
  --with-opt-dir=$(brew --prefix openssl@1.1) \
  --with-ldflags="-L$(brew --prefix zstd)/lib -L$(brew --prefix zlib)/lib" \
  --with-cppflags="-I$(brew --prefix zlib)/include"

方案2:配置环境变量后再安装

先设置zlib相关环境变量,让编译工具全局识别:

export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix zlib)/lib"
export CPATH="$(brew --prefix zlib)/include:$CPATH"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix zlib)/lib/pkgconfig"

之后重新执行原gem安装命令,或用bundle安装:

bundle config build.mysql2 --with-opt-dir=$(brew --prefix openssl@1.1) --with-ldflags="-L$(brew --prefix zstd)/lib -L$(brew --prefix zlib)/lib" --with-cppflags="-I$(brew --prefix zlib)/include"
bundle install

方案3:重新编译Ruby(确保Ruby关联zlib)

如果上述方法无效,可能是rbenv安装的Ruby未正确绑定zlib,重新编译Ruby:

RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1) --with-zlib-dir=$(brew --prefix zlib)" rbenv install 2.7.6

完成后再次尝试安装mysql2 gem。

内容的提问来源于stack exchange,提问作者Hope Bradley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 11:30:37