65 votes

Erreur lors de l'installation de Jekyll - Native Extension Build

J'ai des problèmes pour installer Jekyll. Je n'arrive pas à trouver comment réparer le chaînon manquant. Je pense que c'est une mise à jour de Ruby, mais RVM a également des difficultés à installer d'autres versions de Ruby.

Voici l'article complet :

$ sudo gem install jekyll    

ERROR:  Error installing jekyll:
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/fast-stemmer-1.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1/ext/gem_make.out

Cela signifie-t-il que je dois mettre à jour la version de ruby que j'utilise via rvm ?

0 votes

Quelles commandes spécifiques exécutez-vous pour mettre à jour RVM et ensuite changer votre version de ruby ?

0 votes

Hey Noah, j'ai essayé $ rvm install ruby-1.9.2-p320

0 votes

Il serait utile que vous donniez les commandes exactes que vous avez lancées, suivies de la sortie complète. Essayez également d'utiliser la mise en évidence du code.

195voto

Nmzzz Points 1000

Ubuntu

  1. sudo apt-get install ruby-dev
  2. gem install jekyll

63 votes

Mais cela résout mon problème sous Ubuntu, puisque le titre de la question ne mentionne pas le système d'exploitation.

0 votes

L'OP ne l'a pas mentionné explicitement mais le message d'erreur avec le /System/Library/Frameworks était assez révélateur. Cela a néanmoins fonctionné pour moi sur Ubuntu 13.10.

0 votes

Cette solution fonctionne sur Raspberry Pi, il suffit d'ajouter sudo pour la deuxième commande : sudo gem install jekyll

11voto

Noah Clark Points 2766

Votre problème est que soit votre système ne sait pas où se trouve make, soit vous ne l'avez pas installé. La manière la plus simple de résoudre ce problème (et probablement d'autres problèmes que vous rencontrerez en essayant de faire fonctionner un système ruby) est d'installer xcode.

Vous pouvez l'obtenir à http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 pour Lion. Il peut aussi être fourni sur un CD avec votre ordinateur pour les versions antérieures.

Si vous utilisez Lion, veuillez consulter les commentaires ci-dessous pour obtenir un lien vers la procédure d'installation des outils de développement sur Lion.

0 votes

Super ! Merci Noah, heureux d'entendre que c'est le problème. Je suis à environ 30 minutes de l'installation maintenant.

0 votes

J'ai vu que vous êtes relativement nouveau ici, donc si si ma solution fonctionne, vous devriez revenir et la marquer comme une réponse acceptable afin que d'autres puissent en bénéficier.

2 votes

Absolument, merci beaucoup pour votre aide @NoahClark - Malheureusement, j'ai installé xcode et j'ai toujours le même problème lorsque j'exécute la commande "xcode". sudo gem install jekyll - Je vais essayer de mettre à jour ruby à nouveau via rvm ?

5voto

digitalRoots Points 31

Besoin d'installer "make". J'utilise Ubuntu 12.10. sudo apt-get install make Devrait fonctionner sur toute distro basée sur Debian.

3voto

SrBlanco Points 29

Note : ce problème se produit également sur les nouveaux modèles de MacBook Pro qui sont livrés avec Mavericks pré-installé. J'ai mis à jour un autre article avec ma propre solution qui n'implique pas du tout Xcode. Les outils de développement Xcode étaient installés sur mon système lorsque j'ai reçu la machine.

ERROR : Erreur lors de l'installation de jekyll : ERROR : Échec de la construction de l'extension native de la gemme

2voto

j7nn7k Points 5019

Installez Xcode comme indiqué si vous ne l'avez pas déjà installé ( https://developer.apple.com/xcode/ ). Plus vous avez besoin des outils de la ligne de commande.

Ouvrez Xcode. Allez à Preferences > Downloads > Install Command Line Tools

1 votes

Veuillez ne pas poster la même réponse plusieurs fois. Surtout si vous ne faites que répéter ce que les autres réponses disent. Si vous trouvez des questions en double, signalez-les pour qu'elles puissent être fusionnées.

0 votes

J'ai répondu à deux questions avec la même réponse. Parce que je pense que les gens vont tomber sur les deux réponses. Je ne sais pas ce que vous entendez par répéter les autres réponses ! La partie concernant les outils en ligne de commande n'est mentionnée nulle part mais constitue une partie essentielle de la solution. Xcode seul ne vous mènera nulle part.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X