如何解决Ruby on Rails中MySQL客户端库版本不匹配问题?
解决Ruby on Rails连接MySQL时的客户端库版本不匹配问题
遇到的报错:
Incorrect MySQL client library version! This gem was compiled for 10.8.8 but the client library is 3.3.8.
以下是针对性解决步骤:
彻底清理旧gem残留
先卸载所有版本的mysql2 gem:gem uninstall mysql2 --all手动删除Ruby gem缓存目录下的mysql2相关.gem文件(Windows路径一般为
C:\RubyXX\lib\ruby\gems\X.X.X\cache)指定当前MySQL路径重新编译mysql2 gem
找到你安装的MySQL的lib和include目录(例如默认路径C:\Program Files\MySQL\MySQL Server 8.0),执行编译安装命令:gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:/Program Files/MySQL/MySQL Server 8.0/lib" --with-mysql-include="C:/Program Files/MySQL/MySQL Server 8.0/include"'注意路径需使用正斜杠,避免转义错误。
调整环境变量优先加载正确的MySQL库
将MySQL的lib目录添加到系统PATH环境变量的最前端,确保系统优先读取当前安装的MySQL库文件,而非旧版本的3.3.8库。修改后重启命令行窗口,再启动Rails应用。验证gem编译配置
安装完成后执行以下命令,确认mysql2 gem的编译参数指向正确的MySQL目录:gem info mysql2
内容的提问来源于stack exchange,提问作者Mael Paquette
相关产品推荐
相关产品推荐

