macOS系统安装mysql2 gem 报找不到-lzstd库问题求助
问题原因
编译mysql2 0.5.3版本时依赖zstd压缩库,你之前的安装命令仅指定了openssl的路径,未包含zstd的库文件路径,导致链接阶段找不到对应依赖。
解决步骤
第一步:先安装zstd依赖
执行命令:brew install zstd若已安装可跳过该步骤。
第二步:调整安装命令补充zstd路径
如果你使用的是Mac系统自带Ruby,执行以下命令:sudo gem install mysql2 -v '0.5.3' -- \ --with-ldflags="-L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/zstd/lib" \ --with-cppflags="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/zstd/include"如果你使用rbenv、rvm等Ruby版本管理器,不要加sudo,直接执行以下命令即可:
gem install mysql2 -v '0.5.3' -- \ --with-ldflags="-L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/zstd/lib" \ --with-cppflags="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/zstd/include"
备选方案
如果上述操作仍失败,可先导出全局编译环境变量再执行安装:
export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/zstd/lib -L/opt/homebrew/opt/mysql-client/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/zstd/include -I/opt/homebrew/opt/mysql-client/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:/opt/homebrew/opt/zstd/lib/pkgconfig:/opt/homebrew/opt/mysql-client/lib/pkgconfig" gem install mysql2 -v '0.5.3'
执行前可先运行brew install mysql-client安装mysql客户端依赖,避免缺失其他相关库。
注意事项
如果之前有安装失败的残留,可先执行gem uninstall mysql2 -v 0.5.3清理后再重新安装,避免缓存导致的异常。
内容的提问来源于stack exchange,提问作者Tiktac
相关产品推荐
相关产品推荐

