неинициализированная константа MysqlCompat :: MysqlRes (с использованием гема mms2r) - PullRequest
22 голосов
/ 26 августа 2009

переместил мое приложение rails на новый сервер, и ему пришлось установить несколько гем-зависимостей. Однако после установки gem mysql я получаю ошибку, неинициализированную константу MysqlCompat :: MysqlRes, всякий раз, когда я пытаюсь запустить команду rake, которая включает базу данных mysql. Кажется, я получаю эту ошибку только тогда, когда мне требуется гем mms2r. Кто-нибудь когда-нибудь слышал об этом? Я использую mysql 2.8.1 gem.

Ответы [ 25 ]

1 голос
/ 24 октября 2009

sudo gem install mysql -v 2.7 должен сделать трюк ...

1 голос
/ 24 декабря 2010

Я попробовал все остальное здесь, но все еще получил проблему. Понижение с MySQL 5.5 до 5.1 исправило это для меня. (Mac OS X 10.6.5)

1 голос
/ 03 февраля 2010

sudo gem install mysql -v 2.7 - --with-mysql-config = / usr / local / mysql / bin / mysql_config также помогли мне при переходе на новый ноутбук Snow Leopard. Я не использовал MacPorts для установки mysql, а скорее бинарный, и мне не повезло с решениями флагов арок или символическими ссылками.

1 голос
/ 25 августа 2010
gem uninstall mysql

gem install mysql -v 2.7 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

ldconfig /usr/local/mysql/lib/mysql

RAILS_ENV=production rake db:migrate --trace

Это сработало для меня.

1 голос
/ 11 июля 2011

Драгоценные камни mysql и mysql2 работают на ruby ​​1.9.2, просто обновите ruby ​​и установите нужный гем.

1 голос
/ 03 ноября 2010
sudo apt-get install libmysqlclient15-dev
0 голосов
/ 11 октября 2009

Я попробовал все вышеперечисленное, и ни один из них не работает для меня тоже. При попытке установить MySQL версии 2.7, я получаю сообщение об ошибке:

sudo gem install -v=2.7.1 mysql -- --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
ERROR:  could not find gem mysql locally or in a repository
F107PHD:stepgreen.org tdillahu$ sudo gem install -v=2.7 mysql -- --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-mysql-dir=/usr/local/mysql-5.1.39-osx10.5-powerpc/bin/mysql_config
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mlib
    --without-mlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-zlib
    --without-zlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-socketlib
    --without-socketlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-nsllib
    --without-nsllib
    --with-mysqlclientlib
    --without-mysqlclientlib


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.7/gem_make.out

Моя первоначальная ошибка: аке прервано! неинициализированная константа MysqlCompat :: MysqlRes /vendor/rails/activesupport/lib/active_support/dependencies.rb:440:in load_missing_constant' /vendor/rails/activesupport/lib/active_support/dependencies.rb:80:in const_missing '

0 голосов
/ 17 февраля 2011

Вот что у меня сработало. Я прочитал тонну постов и обнаружил, что при установке системы ruby ​​возникает проблема несовместимости:

  1. не используйте установку ruby ​​по умолчанию! установить ruby ​​с macports
  2. не используйте установку rubygems по умолчанию! установить rb-rubygems с macports
  3. использовать mysql 5.1 (не 5.5) - установлено с mysql.com mac .dmg

sudo env ARCHFLAGS = "- arch x86_64" gem установить MySQL - --with-MySQL-конфиг = / USR / местные / MySQL / бен / mysql_config

0 голосов
/ 18 января 2011

Если ваша версия Mysql 5.5, вы должны удалить ее. Я только что оставил статью об использовании mysql с ruby: http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/

0 голосов
/ 19 декабря 2009

У меня была такая же проблема после обновления с Fedora 10 до Fedora 12. Я исправил это, просто удалив mysql gem и установив его снова. Так что это соответствует новой версии MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...