【问题标题】:Why does the gem mysql2 fails to install when i try to install a version 0.3.x but successfully installs the version 0.4.x and above?为什么当我尝试安装 0.3.x 版本但成功安装 0.4.x 及更高版本时 gem mysql2 无法安装?
【发布时间】:2021-11-11 15:06:36
【问题描述】:
我是 ruby on rails 的新手,我正在尝试使用 gem mysql2 0.3.21 运行一个较旧的项目。我无法更改 gem 版本。我已经使用了“sudo apt-get install libmysqlclient-dev”命令,错误依旧。
此外,当我使用命令“sudo apt install libmariadb-dev”时,捆绑包已安装,但 rake db:create 出现错误。
【问题讨论】:
标签:
ruby
rubygems
ruby-on-rails-5
【解决方案1】:
众所周知,ruby mysql 客户端非常挑剔您在系统中安装了哪些动态库。所以如果你本地的mysql(甚至只是共享客户端dev包)不能100%兼容gem版本的预期,你将无法编译。
我个人不得不在 0.3.15 和 0.3.21 之间切换,因为 ubuntu(我的机器)中的 mysql 版本仅与 gem 0.3.21 及更高版本(即 MySQL 5.7)兼容,而 MacOS 上的版本(the团队的其他成员)只有 0.3.15(它是 MySQL 5.5)。
要使您的 gem 编译,您需要 MySQL 5.7 开发包,而不是 8.0+。编译完成后,您可以切换回当前版本(或者更好的是,在 docker 容器中启动兼容版本)。