неинициализированный постоянный MysqlCompat:: MysqlRes (использующий mms2r драгоценный камень)

Они не то же самое - UTF-8 является конкретным способом закодировать Unicode.

существует много различной кодировки, из которой можно выбрать в зависимости от приложения и данных, которые Вы намереваетесь использовать. Наиболее распространенным является UTF-8, UTF-16 и UTF-32 s далеко, как я знаю.

22
задан Anon 26 August 2009 в 16:25
поделиться

16 ответов

на моей Mac OS X 10.6 Я сделал это, чтобы установить гем 2.8.1, который отлично работал с моим mysql5-сервером MacPorts:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql
47
ответ дан 29 November 2019 в 03:19
поделиться

gem install -v = 2.7.1 также исправит это.

2
ответ дан 29 November 2019 в 03:19
поделиться

Да, я видел подобное сообщение об ошибке, ища тот же несуществующий класс MysqlCompat :: MysqlRes

Как оказалось, этого класса не должно быть; сообщение об ошибке вызвано проблемой с последней версией драйвера Mysql. mysql-2.8.1 искал мои библиотеки в каталоге с дополнительным уровнем mysql в конце. Например, мои библиотеки (в MacOS X 10.5.8) находятся в / usr / local / mysql / lib, но библиотека mysql.bundle ищет библиотеки MySQL в / usr / local / mysql / lib / mysql ... что неверно.

Я обнаружил, что это достаточно легко исправить, создав символическую ссылку в / usr / local / mysql / lib с именем 'mysql', которая указывает на '.'

Итак, когда библиотеки ссылаются на этой дополнительной глубине они обнаруживаются и работают. Это определенно взлом; Я уверен, что есть более подходящие способы исправить это. Мне просто нужно, чтобы он работал, чтобы я мог заниматься другими делами.

Более того, это может не сработать для вас. Скорее всего, это сработает, если ваша ошибка выглядит так:

  ./mysql.bundle: dlopen(./mysql.bundle, 9): Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib (LoadError)
  Referenced from: /Users/ccullen/Projects/npapp-v2/mysql-ruby-2.8.1/mysql.bundle
  Reason: image not found - ./mysql.bundle
    from test.rb:5

Поскольку это, похоже, недавняя разработка, и я не видел прямого ответа на нее, я подумал, что расскажу, как я ее исправил. Удачи :)

3
ответ дан 29 November 2019 в 03:19
поделиться

Помогла установка правильных ARCHFLAGS при (повторной) установке гема мне .. без обязательной символической ссылки:

http://joergbattermann.tumblr.com/post/181479575/fixing-the-nameerror-uninitialized-constant

2
ответ дан 29 November 2019 в 03:19
поделиться

Я пробовал все вышеперечисленное, и ни один из них у меня тоже не работает. При попытке установить 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

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

0
ответ дан 29 November 2019 в 03:19
поделиться

sudo gem установить mysql -v 2.7 должен помочь ...

1
ответ дан 29 November 2019 в 03:19
поделиться

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

.
0
ответ дан 29 November 2019 в 03:19
поделиться

Sudo GEM Установка MySQL -V 2.7 - --with-mysql-config = / usr / local / mysql / bin / mysql_config

отлично работал для меня :)

0
ответ дан 29 November 2019 в 03:19
поделиться

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

1
ответ дан 29 November 2019 в 03:19
поделиться
sudo gem install mysql -v 2.7 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

также работал у меня, когда флаг Arch и символические ссылки не работали! БЛАГОДАРНОСТЬ!!

0
ответ дан 29 November 2019 в 03:19
поделиться

Посмотрите на db.eval :

Вы должны сделать что-то вроде:

episode = connection['dvds'].eval('function(title){
  var t = db.dvds.findOne({"episodes.title" : title},{episodes:true});
  if (!t) return null;
  for (var i in t.episodes) if (t.episodes[i].title == title) return t.episodes[i];
}', "Episode 1");

так что фильтрация эпизодов будет на стороне сервера.

-121--2410587-

Почему бы не использовать функцию Apache Commons Lang и StringUtils.chomp () ? Одна из замечательных вещей в Scala заключается в том, что вы можете использовать существующие библиотеки Java.

-121--4585730-
sudo env ARCHFLAGS="-arch x86_64" gem install mysql

Пакет Dmg с сайта mysql и ddone!

0
ответ дан 29 November 2019 в 03:19
поделиться

Эта проблема появилась у меня после обновления Ubuntu с 9.10 до 10.04.

Похоже, проблема связана с гемом mysql.

Симптомы: Любое использование ActiveRecord, которое требует подключения к mysql, приводит к трассировке стека, исходящей из «неинициализированной константы MysqlCompat :: MysqlRes»

Я попробовал «gem update mysql» и обнаружил, что не могу создавать собственные расширения потому что компилятор не может найти библиотеку mysql_client. Эта библиотека (libmysqlclient.so.16) находится в / usr / lib.

Исправление для ubuntu 10.04:

Как root, я сделал следующее:

apt-get install libmysqlclient-dev
gem install mysql

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

Переменные, которые нужно уточнить в ответах:

  • версия операционной системы - какую версию вы используете?
  • где и как вы устанавливали mysql? - люди здесь, похоже, они установили свой mysql из источника в / usr / local (я установил свой через систему упаковки ubuntu)
  • вы используете 64-битный ubuntu или 32-битный? (в настоящее время я использую 32-битный .)
2
ответ дан 29 November 2019 в 03:19
поделиться

С mysql gem (2.8.1) я получал

неинициализированную константу MysqlCompat::MysqlRes

Использование -v 2.7 заставляет его работать идеально, а для тех, кто использовал Homebrew для установки mysql

sudo gem install mysql -v 2.7... --with-mysql-config=/usr/local/Cellar/mysql/5.1.48/bin/mysql_config

Обратите внимание, что при необходимости вы можете изменить версию mysql.

2
ответ дан 29 November 2019 в 03:19
поделиться

В Mac OS X 10.6.4 мне пришлось указать архитектуру и каталог конфигурации:

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

0
ответ дан 29 November 2019 в 03:19
поделиться

Моя проблема была связана с тем, что мой "mysql" был 32-битной установкой, в то время как ruby был 64- и 32-битным. Проверьте с помощью этих команд

 file `which mysql` 
 file `which ruby`

Оба должны соответствовать 64-разрядному исполняемому файлу Mach-O x86_64 или 64-разрядному исполняемому файлу Mach-O i386. Я установил 64-битный mysql, затем

export ARCHFLAGS="-arch x86_64" ; sudo gem install --no-rdoc --no-ri mysql -v 2.7 -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/mysql/bin/mysql_config

и вуаля!

10
ответ дан 29 November 2019 в 03:19
поделиться
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
ответ дан 29 November 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: