неинициализированная константа MysqlCompat :: MysqlRes - PullRequest
1 голос
/ 13 марта 2011

Я получаю неинициализированную константу MysqlCompat :: MysqlRes при запуске rake db: migrate.

Так вот моя история.Я обновил свою систему до снежного барса, и у меня был существующий проект, который работал нормально.Я пытался обновить некоторые вещи, одним из которых был MySQL до 64 бит.Это когда все пошло не так.Поэтому, если я сделаю следующее, я получу следующие результаты из моего каталога work / myproject.

файл, который mysql / usr / local / mysql / bin / mysql: Mach-O исполняемый файл i386, который ruby ​​/ usr / local/ bin / ruby: исполняемый файл Mach-O i386

Так что я, честно говоря, не знаю, где я сейчас нахожусь.Я думал, что установил 64-битную версию mysql, но это не так.

Я запустил gem uninstall mysql, а затем запустил sudo env ARCHFLAGS = "- arch x86_64" gem install mysql - --with-mysql-config = / usr / local / mysql / bin / mysql_config

тоже не сработало!

Может кто-нибудь помочь?

Ответы [ 3 ]

2 голосов
/ 31 июля 2011

это сработало для меня (на OS X 10.6.6):

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
1 голос
/ 20 марта 2011

Проблема в том, что вам нужно использовать одну и ту же архитектуру для ruby, libmysqlclient и mysql ruby ​​gem (i386 или x86_64).

Я заметил, что рубин, на который вы ссылаетесь, находится в /usr/local/bin/rubyстандартного местоположения системы /usr/bin/ruby - убедитесь, что вы используете версию ruby, которую вы намеревались.

0 голосов
/ 16 ноября 2012

использование i386 вместо x86_64 работало для меня

sudo env ARCHFLAGS = "- arch i386" gem install mysql - --with-mysql-config = / usr / local / mysql / bin / mysql_config

...