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

4
我正在尝试在Rails 3.1.0.rc6中使用mysql2 gem,但是我的mysql客户端出现了一些问题。
当我尝试启动服务器时,我收到了以下消息。
“错误的MySQL客户端库版本!此gem编译为5.1.53,但客户端库为5.5.14。(RuntimeError)”
如何编译/安装mysql2以便可以使用mysql 5.5.14?
我尝试使用gem pristine mysql2,但没有成功。
3个回答

12
问题出在使用的MySQL2 gem被编译为苹果安装的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现在应该可以工作了。

1
bundle config 命令在我的 Lion 系统上无法工作(brew mysql 未安装,因此安装了替代版本)。gem pristine mysql2 居然解决了问题! :) - Daniel Morris
这个答案对我有用,但是我还需要执行一个额外的步骤,这个步骤在答案中没有提到。当我尝试执行 brew install mysql 时,我遇到了以下错误 Error: mysql-5.5.19 already installed To install this version, first 'brew unlink mysql',所以我在执行 brew install mysql 之前先运行了 brew unlink mysql,然后按照答案中的其余步骤进行操作,解决了我的问题。 - Livi17

0

0

在类似的情况下对我有用的方法:

brew reinstall mysql
gem pristine mysql2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接