Rails-MySQL Error - неинициализированная константа MysqlCompat :: MysqlRes - PullRequest
1 голос
/ 06 февраля 2011

Попытка запустить приложение Rails на Snow Leopard.

  • Скачал mysql-5.5.8-osx10.6-x86_64.dmg и запустил установщик
  • Ruby 1.8.7 (версия по умолчанию для OS X)
  • Рельсы 2.3.5

Когда я пытаюсь запустить "rake db: migrate", я получаю

  • Рейк отменен!
  • неинициализированная константа 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 ]

3 голосов
/ 07 февраля 2011

У меня не было опыта, и я использую Snow Leopard, RVM и рельсы с 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 голос
/ 28 февраля 2016

Для 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/

...