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

WSL2 Ubuntu 20.04环境下执行gem install mysql安装失败求助

报错解决办法

问题核心原因

你遇到的两段报错分别对应两个问题:

  1. 第一段checking for mysql_query() in -lmysqlclient... no是编译时找不到对应的MySQL客户端动态库
  2. 第二段unknown type name ‘my_bool’等报错是因为你使用的Ruby 1.8.7、mysql 2.9.1 gem均为已停止维护的老旧版本,无法兼容当前WSL2默认源提供的MySQL 8.0+版本的客户端开发头文件,MySQL 8.0版本起已经移除了my_bool类型、ER_XPLUGIN_IP等旧常量

解决步骤

  • 第一步:先卸载当前系统内的高版本MySQL相关开发包,避免版本冲突
sudo apt purge -y libmysqlclient-dev mysql-common
sudo apt autoremove -y
  • 第二步:添加MySQL 5.7版本的官方软件源,MySQL 5.7的客户端库完全兼容mysql 2.9.1 gem的编译要求
sudo apt install -y wget lsb-release gnupg
wget -O - 'https://repo.mysql.com/RPM-GPG-KEY-mysql-2022' | sudo apt-key add -
echo "deb http://repo.mysql.com/apt/ubuntu/ $(lsb_release -cs) mysql-5.7" | sudo tee /etc/apt/sources.list.d/mysql5.7.list
sudo apt update
  • 第三步:安装并锁定5.7版本的MySQL客户端开发包,防止后续被自动升级到不兼容的高版本
sudo apt install -y libmysqlclient-dev=5.7.*
sudo apt-mark hold libmysqlclient-dev
  • 第四步:重新编译安装mysql 2.9.1 gem,手动指定mysql_config路径避免找不到库的问题
gem install mysql -v '2.9.1' -- --with-mysql-config=/usr/bin/mysql_config

执行完成后无报错即代表安装成功。如果你的项目允许修改依赖,也可以将旧的mysql gem替换为兼容更高版本MySQL的mysql2 gem,无需降级客户端库即可完成安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:36:03