为特定的mysql客户端版本安装mysql2 gem?

问题描述 投票:4回答:3

我正在尝试使用mysql2 gem和rails 3.1.0.rc6,但我的mysql客户端有问题。

我在尝试启动服务器时收到此消息。

MySQL客户端库版本不正确!这个gem是为5.1.53编译的,但客户端库是5.5.14。 (RuntimeError)

如何编译/安装mysql2以便可以使用mysql 5.5.14?

我尝试过使用gem pristine mysql2但没有成功。

ruby-on-rails ruby ruby-on-rails-3.1
3个回答
12
投票

这里的问题是MySQL2 gem是由Apple(开发包)安装的MySQL版本编译而不是我使用Homebrew

安装gem时使用此命令解决了问题。

gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.5.14/bin/mysql_config

不要忘记使用以下命令安装mysql:

sudo brew install mysql

现在的问题是我们不知何故需要将选项传递给bundler,为此你可以使用bundler config

bundle config build.mysql2 --with-mysql-config=/usr/local/Cellar/mysql/5.5.14/bin/mysql_config

在你的ruby应用程序中运行bundle install现在应该可以工作了。


0
投票

看起来像mysql客户端库和mysql2编译的gem的无与伦比的版本给LoadError。

因此,他们明确地提出了RuntimeError

因此,只有我知道的方式,从github下载源代码并在您的机器中编译它。


0
投票

在类似情况下对我有用的东西:

brew reinstall mysql
gem pristine mysql2
© www.soinside.com 2019 - 2024. All rights reserved.