2011-08-21 64 views
3

我想使用rails 3.1.0.rc6的mysql2 gem,但是我的mysql客户端有问题。为特定的mysql客户端版本安装mysql2 gem?

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

Incorrect MySQL client library version! This gem was compiled for 5.1.53 but the client library is 5.5.14. (RuntimeError)

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

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

回答

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 config

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

在Ruby应用程序现在应该工作运行bundle install

+1

捆绑配置命令没有为我工作(brew mysql没有安装所以安装替代版本)狮子。 gem pristine mysql2实际上以某种方式解决了它! :) –

+0

这个答案适用于我,但我必须执行一个额外的步骤没有在答案中提到。当我试图做'brew install mysql'时,出现如下错误:错误:mysql-5.5.19已经安装 要安装这个版本,首先'brew unlink mysql'',所以我运行了这个:'brew unlink mysql' 'brew install mysql',然后答案中的其余步骤工作并解决了我的问题。 – Livi17