web-dev-qa-db-fra.com

Rubygems ne s'installe pas sur OS X Lion

Avant, je n'avais aucun problème avec Ruby, les gemmes et tout ce qui s'y rapportait. Mais après avoir installé X Code Developer Tools et mis à niveau vers Lion, les gemmes ne s'installent pas.

J'obtiens l'erreur suivante pour chaque gemme. Voici le message pour sqlite à titre d'exemple:

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb
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/sqlite3-1.3.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out

Qu'est ce qui ne s'est pas bien passé? Comment le réparer?

44
d135-1r43

J'ai dû installer les outils de ligne de commande dans la dernière version Xcode (4.3.1) et

Sudo gem install Rails

travaillé comme un charme.

Pour installer les outils de ligne de commande, accédez à Préférences Xcode> Téléchargements ou utilisez la commande suivante dans le terminal (thx @ Purell ):

xcode-select --install
75
shadowhorst

J'utilise Mavericks et Ruby 2.0.0 et j'ai également eu cette erreur (mkmf.rb ne trouve pas les fichiers d'en-tête) lors de l'installation des gemmes. J'ai résolu ce problème en créant des liens symboliques dans Terminal.

#First install developer tools again:
xcode-select --install

#Create symbolic link to Ruby include (updated for 10.9)
Sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/Ruby/include

#Create symbolic link to config.h (updated for 10.9)
Sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/Ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/config.h
16
David Douglas

J'ai rencontré le même problème en essayant d'installer Rails sur mon Lion. Voilà comment je pourrais le résoudre.

Installer rvm

$ curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable

Installer osx-gcc-installer

https://github.com/kennethreitz/osx-gcc-installer

Nouvelle version installée de Ruby

rvm install 1.9.3

Tapé à la commande suivante pour afficher les exigences

rvm requirements

Pour utiliser un RVM installé Ruby par défaut, au lieu du Ruby système:

rvm system ; rvm gemset export system.gems ; rvm 1.9.3 ; rvm gemset import system.gems # migrate your gems rvm alias create default 1.9.3

Rails installés:

Sudo gem install Rails

Mon Mac est maintenant lu pour Rails !! YAY!!

12
diham

Lors de l'installation de Rails j'ai eu l'erreur:

ne peut pas trouver les fichiers d'en-tête pour Ruby à /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/Ruby/ruby.h

Comme j'avais déjà installé Xcode, je devais simplement installer les outils de ligne de commande pour résoudre ce problème

4
Omaty

Pas une solution directe à votre problème, mais je suggère d'utiliser rvm pour installer de nouveaux rubis et gemmes. Cela devrai prendre soin de ça.

4
Thilo

Vous devez avoir installé XCode, il inclut Ruby.h ainsi que d'autres fichiers importants nécessaires pour compiler d'autres gemmes natives.

1
kb1ibt

J'ai juste oublié de l'exécuter avec la commande Sudo.

Sudo gem install sqlite3

ne pas:

gem install sqlite3

0
Julian K

Après une mise à jour du système d'exploitation, assurez-vous d'accepter la licence X-Code même si vous avez déjà utilisé des outils de ligne de commande. Ce n'est qu'alors que certains fichiers d'en-tête seront disponibles. Pour accepter la licence, vous devez exécuter X-Code une fois.

0
ervi

Mise à jour vers la dernière version de xcode, qui a résolu le problème pour moi. Assurez-vous que xcodebuild se trouve sur votre chemin.

l'exécution de xcodebuild -version dans une fenêtre de terminal devrait produire 4.2.1 (4.x au moins).

0
Joel

Bonjour, je suis désolé, je ne peux pas tester cette réponse, mais je suggère de modifier les chemins de recherche par défaut dans votre bashrc et extconf.rb car les fichiers de la bibliothèque semblent avoir été déplacés dans Lion.

(P.S. s'il veut travailler avec la version 1.8 par défaut, rvm serait un tracas inutile)

0
robustus