Rails-MySQL Error - uninitialized constant MysqlCompat::MysqlRes

北慕城南 提交于 2019-12-20 04:11:35

问题


Trying to get a Rails app running on Snow Leopard.

  • Downloaded mysql-5.5.8-osx10.6-x86_64.dmg and ran installer
  • Ruby 1.8.7 (Default OS X version)
  • Rails 2.3.5

When I attempt to run "rake db:migrate" I get

  • rake aborted!
  • uninitialized constant MysqlCompat::MysqlRes

Yes I know this has been asked before. I have already reviewed the following links and followed the steps included in them and the result is the same each time.

  • Rails, MySQL and 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/

Prior to the following commands I run "sudo gem uninstall mysql" followed by "sudo gem clean mysql" based on the above links:

  • 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

It is still failing. I am just flumoxed and would greatly appreciate any help.

Many thanks!


回答1:


Not had the experience myself and I'm using Snow Leopard, RVM and rails 2.3.5 to 3.0.3, but found another view which deals with the uninstall and reinstall via :

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

For more details see the posting at: http://accidentaltechnologist.com/apple/fixing-uninitialized-constant-mysqlcompatmysqlres-error-on-snow-leopard/




回答2:


For El Capitan you don't need to uninstall / install.

Just found your libmysqlclient.18.dylib file. Location will depent on how you installed mysql

locate libmysqlclient.18.dylib

Once you have the path create a symb link as:

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

You have two change first param according to your dynamic library location (use the first command).

On El Capitan the link should be to /usr/local/lib. On previous versions link was to /usr/lib/



来源:https://stackoverflow.com/questions/4915461/rails-mysql-error-uninitialized-constant-mysqlcompatmysqlres

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!