web-dev-qa-db-fra.com

Mise à niveau de Yosemite a éclaté Ruby.h

Depuis la mise à niveau vers Yosemite, je reçois cette erreur en essayant de construire tout ce qui inclut Ruby.h:

In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/ruby.h:24:10: fatal error: 'Ruby/config.h' file not found
#include "Ruby/config.h"
         ^
1 error generated.
make[1]: *** [objects/if_Ruby.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [first] Error 2

Et bien sûr, /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/config.h est en effet manquant.

$ ls -laF /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/
total 72
drwxr-xr-x  21 root  wheel    714 Jul 29 21:56 ./
drwxr-xr-x   5 root  wheel    170 Jul 29 21:56 ../
drwxr-xr-x   7 root  wheel    238 Jul 29 21:56 backward/
-rw-r--r--   2 root  wheel   3360 Sep 21 15:25 debug.h
-rw-r--r--   2 root  wheel   5553 Sep 21 15:25 defines.h
-rw-r--r--   2 root  wheel    881 Sep 21 15:25 digest.h
-rw-r--r--   2 root  wheel   7628 Sep 21 15:25 dl.h
-rw-r--r--   2 root  wheel  14123 Sep 21 15:25 encoding.h
-rw-r--r--   2 root  wheel  32904 Sep 21 15:25 intern.h
-rw-r--r--   2 root  wheel   5869 Sep 21 15:25 io.h
-rw-r--r--   2 root  wheel   4522 Sep 21 15:25 missing.h
-rw-r--r--   2 root  wheel  37617 Sep 21 15:25 oniguruma.h
-rw-r--r--   2 root  wheel   1502 Sep 21 15:25 re.h
-rw-r--r--   2 root  wheel    890 Sep 21 15:25 regex.h
-rw-r--r--   2 root  wheel  49734 Sep 21 15:25 Ruby.h
-rw-r--r--   2 root  wheel   4651 Sep 21 15:25 st.h
-rw-r--r--   2 root  wheel    374 Sep 21 15:25 subst.h
-rw-r--r--   2 root  wheel   1102 Sep 21 15:25 thread.h
-rw-r--r--   2 root  wheel   2139 Sep 21 15:25 util.h
-rw-r--r--   2 root  wheel   1968 Sep 21 15:25 version.h
-rw-r--r--   2 root  wheel   1794 Sep 21 15:25 vm.h

L'installation est-elle accidentellement un fichier? Yosemite est-il simplement livré avec un ensemble de fichiers d’en-tête Ruby éclaté?

Quelle est la meilleure façon de résoudre ce problème? Puis-je décompresser le code source pour obtenir les bons en-têtes?

20
isaacs

Une remarque à ce sujet: j'ai rencontré ce problème après la mise à niveau vers "OS X El Capitan". J'ai installé les outils de ligne de commande en exécutant 'xcode-select --install'. Après cela, mon environnement de génération Ruby a recommencé à fonctionner. 

18
Jesus Ruiz
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby
Sudo ln -s ../universal-darwin15/Ruby/config.h ./config.h

met à jour la réponse de Nicholas Tsipanov du 2014-10-18.

16
John Chew

Pour ceux qui ont déjà installé Xcode à partir du site de développeurs Apple , exécuter xcode-select --install ne fonctionne pas, car il dira que Xcode est déjà installé (Xcode est déjà fourni avec la CommandLineTools fournie).

Dans mon cas, je l'ai corrigé en téléchargeant la CommandLineTools correspondante du même endroit, en l'exécutant, puis en allant à /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg et en l'exécutant également.

12
Dielson Sales

J'ai la même erreur, mais j'ai installé " Outils de ligne de commande (OS X 10.10) pour Xcode - Xcode 6.1 " et l'installation a bien fonctionné par la suite.

12
Emil Stenström

Si vous utilisez Homebrew, brew install Ruby est une solution de contournement rapide (vous obtenez une nouvelle installation Ruby distincte de celle de Xcode).

6
rsenna

Essaye ça:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby
Sudo ln -s ../universal-darwin13/Ruby/config.h ./config.h
4
Nicholas Tsi

Xcode s'est en quelque sorte égaré dans la mise à niveau.

J'ai ouvert Xcode (ce que je ne fais jamais autrement) et il s'est plaint de toutes sortes de composants manquants. Alors je laisse les choses aller de l'avant et se corrige, et maintenant tout va bien.

Props to CDub dans les commentaires sur OP pour indiquer que c'est une source potentielle d'étrangeté.

1
isaacs

Correction en pointant sur le chemin correct pour les outils de développement Xcode.

Erreur avant (notez le chemin d'accès à Xcode711.app au lieu de Xcode.app)

/Applications/Xcode711.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/Ruby-2.0.0/Ruby/ruby.h:24:10:

A couru 

Sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
0
Neo