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

brew更新MySQL后Rails本地服务器无法启动的解决求助

修复MySQL升级后Rails无法启动的mysql2依赖问题

问题原因

MySQL从8.0.x版本升级到8.3.0后,动态链接库libmysqlclient的版本从22更新为23,而你当前使用的mysql2-0.5.4 gem是基于旧版本库编译的,导致启动Rails时找不到指定的libmysqlclient.22.dylib文件。

解决方案

1. 重新编译指定MySQL路径的mysql2 gem

先卸载已安装的mysql2 gem:

gem uninstall mysql2

然后指定brew安装的MySQL配置文件路径,重新安装对应版本的gem:

gem install mysql2 -v 0.5.4 -- --with-mysql-config=/opt/homebrew/opt/mysql/bin/mysql_config

2. 通过Bundler重新配置并安装

如果你的项目使用Bundler管理依赖,执行以下步骤:

  1. 卸载项目依赖的mysql2 gem:
bundle exec gem uninstall mysql2
  1. 配置Bundler编译mysql2时使用指定的MySQL路径:
bundle config set --local build.mysql2 "--with-mysql-config=/opt/homebrew/opt/mysql/bin/mysql_config"
  1. 重新安装项目依赖:
bundle install

3. 临时软链接方案(不推荐长期使用)

如果需要快速恢复服务,可以创建旧版本库的软链接指向新版本:

sudo ln -s /opt/homebrew/opt/mysql/lib/libmysqlclient.23.dylib /opt/homebrew/opt/mysql/lib/libmysqlclient.22.dylib

注意:此方法仅为临时应急,后续MySQL再次升级时仍会出现类似问题,建议优先使用前两种编译方案。

额外检查

确保当前终端使用的Ruby版本是3.1.2,执行以下命令确认:

rbenv version

如果不是,切换到对应版本:

rbenv local 3.1.2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:22:38