Windows无Rails环境安装mysql2 gem出现构建原生扩展失败错误
问题根因
这个报错是因为mysql2 0.5.3版本构建原生扩展时,无法自动匹配到本地MySQL 8.0的头文件和库文件路径,查找逻辑返回空值后触发了split方法调用异常。
解决步骤
- 第一步:清理已安装的残留mysql2包
执行命令:
提示是否删除残留版本时,全部选择是。gem uninstall mysql2 -a - 第二步:手动指定MySQL路径安装
先确认本地MySQL Server 8.0的安装路径,默认路径为C:\Program Files\MySQL\MySQL Server 8.0,如果是自定义安装请替换为实际路径,执行如下命令:
注意:路径包含空格时必须用英文双引号包裹gem install mysql2 -v '0.5.3' -- --with-mysql-dir="你的MySQL安装绝对路径" --with-mysql-lib="你的MySQL安装绝对路径\lib" --with-mysql-include="你的MySQL安装绝对路径\include" - 第三步:配置运行时依赖
进入MySQL安装目录下的lib文件夹,复制libmysql.dll文件,粘贴到Ruby安装目录的bin文件夹(默认路径为C:\Ruby30-x64\bin),避免后续运行时找不到动态链接库报错。
备选方案
如果上述方法仍失败,先运行ridk install选择第3项安装完整的MSYS2开发工具链后,执行如下命令安装预编译版本:
gem install mysql2 --platform=mingw --pre
内容的提问来源于stack exchange,提问作者Claudia Velazquez
相关产品推荐
相关产品推荐

