Question

J'obtiens cette erreur lors de l'exécution de l'environnement de développement via RubyMine 3.1. Le gem mysql est attaché, il fonctionne à partir de Bundler.

Gemfile

gem "mysql",         "2.8.1"

Gem a été installé avec:

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

via la configuration de Bundler .

=> Démarrer WEBrick
=> Application Rails 2.3.10 à partir du http://0.0.0.0:3000 [2011-03-21 < br> 13:36:43] INFO WEBrick 1.3.1
[2011-03-21 13:36:43] INFO ruby ​​1.8.7
(18/02/2011) [i686-darwin10.7.1]
[2011-03-21 13:36:43] INFO
WEBrick :: HTTPServer # start: pid= 625
port= 3000
=> Appel avec -d pour détacher
=> Ctrl-C pour arrêter le serveur /! \ FAILSAFE /! \ Mon Mar 21 13:36:46
-1000 2011 Statut: 500 Erreur interne du serveur constante non initialisée
MysqlCompat :: MysqlRes

Le système utilise RVM, gemset et ruby ​​1.8.7, rails 2.3.10 et mysql 5.5.10

Je peux exécuter la console et le serveur Rails correctement via Terminal via

ruby script/server
ruby script/console

Le problème semble être isolé en essayant simplement d'exécuter la console et le serveur Rails via RubyMine. Il y a probablement un petit paramètre de configuration qui me manque et que je n'ai pas vu.

RubyMine est configuré pour utiliser le ruby ​​et l'ensemble de gemmes de RVM et il est également configuré pour ignorer l'ensemble de gemmes global.

La plupart des solutions que j'ai vues prévoient de passer à mysql 5.1, mais cela ne semble pas être la vraie solution car je peux parfaitement exécuter la console et le serveur Rails à partir du terminal.

Était-ce utile?

La solution

J'ai parlé avec John Wang et il me l'a dit, mais il continuait avec ce problème.

RubyMine est une interface graphique, donc il ne récupère pas les paramètres d'environnement définis pour le terminal dans OS X. Voir ce document Jetbrains pour mieux comprendre comment cela fonctionne: http://devnet.jetbrains.net/docs/DOC-1160

Le lien vers l'outil utilisé pour modifier les variables d'environnement est erroné sur le lien ci-dessus. J'ai utilisé ce qui suit: http://www.epikentros.net/Main/Mac_Software.html

Vous devez vous assurer que vous disposez des paramètres sur le terminal (~ / .profile ou ~ / .bash_profile) et sur l'interface graphique OS X (en utilisant l'outil fourni dans le lien ci-dessus) pour DYLD_LIBRARY_PATH (doit avoir le mysql lib répertoire défini ici) et PATH (copiez les valeurs déjà définies pour le terminal dans l'interface graphique OS X)

Cela devrait faire l'affaire. Si vous rencontrez un problème supplémentaire, vérifiez que vous utilisez la même architecture pour MySQL et MySQL Gem (i386 ou x86_64)

Autres conseils

Je viens d'avoir un problème très similaire:

  • OSX Leopard
  • MySQL 5.1
  • Rails 2.3.11

Le script / console et le script / serveur fonctionnaient bien, mais mes spécifications étaient erronées avec

Constante non initialisée MysqlCompat :: MysqlRes

La solution semble être d'utiliser mysql2 au lieu de mysql.N'oubliez pas de changer l'adaptateur de connexion dans database.yml

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top