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

试图在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”时,我得到了

  • 耙子流产了!
  • 未初始化的常量MysqlCompat :: MysqlRes

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

  • Rails,MySQL和Snow Leopard
  • http://techliberty.blogspot.com/2009/12/dealing-with-rake-aborted-uninitialized.html
  • http://www.schmidp.com/2009/06/14/rubyrails-and-mysql-on-snow-leopard-10a380/

在以下命令之前,我运行“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

它仍然失败。 我刚刚陷入困境,非常感谢任何帮助。

非常感谢!

没有我自己的经验,我使用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/

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

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

 locate libmysqlclient.18.dylib 

获得路径后,创建一个symb链接:

 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/