2009-09-02 7 views
9

Je x86_64 MySql installé avec succès dans Snow Leopard et Ruby et Ruby Gems semble être installé correctement:gem install échec mysql dans Snow Leopard

$ which mysql 
/usr/local/mysql/bin/mysql 
$ which ruby 
/usr/bin/ruby 
$ which gem 
/usr/bin/gem 
$ mysql 
Your MySQL connection id is 404 
Server version: 5.1.37 MySQL Community Server (GPL) 
$ ruby -v 
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] 
$ gem -v 
1.3.5 

Unfortunatly J'obtiens une erreur installation gem mysql:

$ sudo gem update --system 
... 
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/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-config=/usr/local/mysql/bin/mysql_config 
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h 


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 for inspection. 

Répondre

12

L'installation du Xcode fourni avec Snow Leopard a résolu le problème.

+0

Je l'ai fait, et mis à jour le SDK iPhone à la neige Version Leopard ainsi .. Toujours obtenir la même erreur, donc je doute que c'est le problème! :( –

+0

Pour moi ainsi qu'un utilisateur dans un autre poste (http://www.ruby-forum.com/topic/191688) que faire l'affaire – collimarco

+0

Quelqu'un at-il une suggestion pour quelqu'un sans le DVD Snow Leopard? – Daniel

26

Je pense que vous devriez essayer de désinstaller l'ancien bijou mysql avant de recompiler

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

N'a pas fonctionné ... :( –

+0

cela fonctionne si vous avez installé gcc ou xcode.la commande ci-dessus fonctionnera bien et a bien fonctionné pour moi jusqu'à ce jour – Anand

2

Pour moi, il était l'ajout de l'option Outils UNIX (si j'ai rappelé le nom avec précision), qui comprennent les en-têtes. Lorsque j'ai installé XCode à l'origine, je n'ai pas inclus ce composant car je ne pensais pas que j'écrirais du code UNIX. Je ne savais pas ...

1

Si vous avez installé MySQL 5 en utilisant MacPorts, puis utilisez la commande:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/opt/local/bin/mysql_config5 
1

J'ai eu ce problème quand je mis à jour au Lion. Dans ce cas, je quand à l'app store et téléchargé le dernier Xcode. Ensuite, j'ai désinstallé et réinstallé la base de données.

Le problème concernait un lien rompu pendant la mise à jour. Ruby aime être dans/System pendant qu'Apple place ruby ​​dans/Developer.

0

était coincé avec même problème: la plupart des Essayé la solution: A la fin

Modifier l'app/config/database.yml, changer l'adaptateur mysql2

production: 
    adapter: mysql2 
    database: commissi_production 
    username: root 
    password: root 
    host: localhost 

& course sur la borne

gem install activerecord-mysql2-adapter 

Résolu le problème.