Rails-MySQL错误 - 未初始化的常量MysqlCompat :: MysqlRes

时间:2011-02-06 19:12:11

标签: mysql ruby-on-rails osx-snow-leopard

尝试在Snow Leopard上运行Rails应用程序。

  • 下载mysql-5.5.8-osx10.6-x86_64.dmg并运行安装程序
  • Ruby 1.8.7(默认OS X版本)
  • Rails 2.3.5

当我尝试运行“rake db:migrate”时,我得到了

  • rake aborted!
  • 未初始化的常量MysqlCompat :: MysqlRes

是的,我知道以前曾经问过这个问题。我已经查看了以下链接,并按照其中包含的步骤进行操作,每次结果都相同。

在以下命令之前,我根据以上链接运行“sudo gem uninstall mysql”,然后是“sudo gem clean mysql”:

  • sudo gem install mysql - --with-mysql-config = / usr / local / mysql / bin / mysql_config
  • sudo env ARCHFLAGS =“ - arch x86_64”gem install mysql - --with-mysql-config = / usr / local / mysql / bin / mysql_config

它仍然失败。我很沮丧,非常感谢任何帮助。

非常感谢!

2 个答案:

答案 0 :(得分:3)

我没有自己的经验,我使用Snow Leopard,RVM和rails 2.3.5到3.0.3,但找到了另一个处理卸载并重新安装的视图:

export ARCHFLAGS="-arch i386 -arch x86_64" ;sudo gem install --no-rdoc --no-ri -v=2.7 mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

有关详细信息,请参阅发布在:http://accidentaltechnologist.com/apple/fixing-uninitialized-constant-mysqlcompatmysqlres-error-on-snow-leopard/

答案 1 :(得分:1)

对于 El Capitan ,您不需要卸载/安装。

刚找到您的libmysqlclient.18.dylib文件。位置将取决于您如何安装mysql

locate libmysqlclient.18.dylib

创建符号链接后,路径为:

ln -s /usr/local/mysql-5.5.20-osx10.6-x86_64/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

根据动态库位置,您有两个更改第一个参数(使用第一个命令)。

在El Capitan上,链接应该是/usr/local/lib。在以前的版本中,链接是/usr/lib/