web-dev-qa-db-fra.com

Lorsque j'essaie Sudo gem installer json, l'erreur suivante apparaît

Je dois installer la gemme JSON pour démarrer mon application, mais le message d'erreur ci-dessous s'affiche chaque fois que j'essaie d'installer la gemme Json. Quelqu'un peut m'aider. J'utilise Rails 2.2.2 et gems 1.3.1.

Arions-macbook-pro:.ssh arion$ Sudo gem install json
Password:
Sorry, try again.
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/Ruby extconf.rb install json
can't find header files for Ruby.


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.1.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.1.4/ext/json/ext/parser/gem_make.out
28
Aaron

Avec Mavericks, vous pouvez résoudre ce problème en installant les outils de ligne de commande Xcode à partir de la ligne de commande, comme suit:

xcode-select --install

Mise à jour: N'oubliez pas d'accepter le contrat de licence après l'installation ou la mise à jour:

Sudo xcodebuild -license

19
Javid Jamae

Vous manquez les en-têtes de développement Ruby. Pour les installer sur un système d'exploitation tel que Ubuntu, vous devez utiliser:

aptitude install Ruby1.8-dev
13
neomorphic

Si vous avez ce problème:

ERROR:  Error installing json:
ERROR: Failed to build gem native extension.

et que vous utilisez un Mac avec OS X (testé avec 10.8.1 Mountain Lion), vous devez télécharger Xcode depuis le Mac App Store (ou depuis developer.Apple.com si vous avez un compte dev - c’est gratuit et vous pouvez le faire. télécharger un programme d'installation DMG)

Les dernières versions de Xcode (j'utilise Xcode 4.4.1) n'incluent PAS les outils de ligne de commande. Maintenant, vous devez installer ce paquet supplémentaire dans Xcode. Une fois cela fait, votre problème est résolu.

Pour ce faire, ouvrez Xcode, allez à Préférences> Téléchargements> Composants. Installez "Outils de ligne de commande". Vous avez terminé. Maintenant, vous pouvez installer le joyau Json Ruby.

enter image description here

13
Diego Freniche

Les en-têtes Ruby ne sont pas installés avec l’installation de base Ruby avec Mac OS X. Vous pouvez les trouver sur le disque d’installation 2 de Mac OS X en installant les outils XCode.

Une fois installé, tout allait bien!

UPDATEÀ partir d'au moins OS X 10.7.3, ce n'est plus un problème, cela "fonctionne"

MacBook-Pro:tmp$ Sudo gem install json
Password:
Building native extensions.  This could take a while...
Successfully installed json-1.6.5
1 gem installed
Installing ri documentation for json-1.6.5...
Installing RDoc documentation for json-1.6.5...
MacBook-Pro:tmp$ uname -a
4
Aaron

L'installation des outils de ligne de commande Xcode ... devrait résoudre ce problème.

3
p01nd3xt3r

Il s'avère que certaines pierres précieuses nécessitent l'installation de certains fichiers d'en-tête Ruby. Ces fichiers d'en-tête do not sont livrés avec Lion (OSX 10.7).

Il s'avère également que Xcode 4 (dernière version) ne le fait pas non plus installe ces fichiers d'en-tête. J'ai essayé ça.

Solution - En supposant que vous utilisez Mac OS X (vous semblez être basé sur la sortie du terminal). Pour que cela fonctionne, j'ai installé gcc avec des outils de développement} à partir de la page suivante.

Vous devriez pouvoir installer les gems maintenant, soit avec gem install ou bundle install.

Frais généraux Si vous êtes inquiet au sujet de l’autre jonque qu’elle contient, voici un résumé.

  • gcc - utile
  • make - utile
  • clang - utile pour ObjectiveC
  • Outils de développement en ligne de commande (purge, etc.) - utiles?
  • DevSDK (en-têtes, etc.) - ce dont vous avez besoin
2
adu

Une simple recherche google révèle ceci: 

Si vous obtenez le message d'erreur impossible de trouver les fichiers d'en-tête pour Ruby lorsque vous essayez de créer une extension ou un bijou, cela signifie que Ruby ne peut pas localiser ses fichiers d'en-tête.

Les fichiers d'en-tête ne sont pas livrés par défaut avec Mac OS X, vous devez installer le package Xcode Tools après l'installation. Vous pouvez le trouver dans le répertoire facultatif Installations/Xcode sur le DVD Leopard.

2
Janco

Si vous utilisez homebrew, exécutez brew doctor. Vous découvrirez peut-être que les bibliothèques gcc requises pour la compilation sont obsolètes et/ou manquantes.

Warning: No compiler found in /usr/bin!
Warning: Your Xcode (4.2) is outdated

checking for gcc... /Developer/usr/bin/llvm-gcc
checking whether the C compiler works... no
configure: error: in `/private/tmp/freexl-apNF/freexl-1.0.0d':
configure: error: C compiler cannot create executables

Pour les utilisateurs de Lion et Mountain Lion, Apple fournit désormais un package officiel Command Line Tools pour Xcode que vous pouvez installer sans avoir à installer Xcode lui-même! Vous pouvez le télécharger à partir du site de développement d’Apple https://developer.Apple.com/downloads/index.action . Si vous avez toujours besoin de gcc-4.2 et que vous utilisez Homebrew, vous pouvez l'installer à l'aide du paquet Apple-gcc42 de homebrew/dupes.

0
Alan David Garcia