web-dev-qa-db-fra.com

OS-X, Rails: "Impossible de construire l'extension native de gemme"

Je suis bloqué en essayant d'installer Rails sur mon mac. J'ai OS X 10.6.8 et j'ai confirmé que j'ai Ruby, version 1.8.7

J'ai couru Sudo gem update et Sudo gem update --system pour obtenir les dernières versions du logiciel.

Cependant, lorsque je lance Sudo gem install Rails J'obtiens cette erreur:

ERROR:  Error installing Rails:
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/json-1.6.3 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.6.3/ext/json/ext/parser/gem_make.out
33
user884913

Si vous avez XCode 4 ou une version ultérieure, vous devrez l'ouvrir et aller dans Préférences -> Téléchargements -> Composants et installer les outils de ligne de commande car ils ne sont pas installés par défaut. Impossible d'installer Rails jusqu'à ce que cela se produise.

47
Rob

J'utilise OSX 10.10. Vous pouvez télécharger à partir de la ligne de commande

xcode-select --install
35
longJOURNEY

Je ne sais pas de quoi il a besoin pour compiler, mais OSX ne peut pas compiler d'extensions natives Ruby du tout sauf si les outils de développement Apple Apple sont installés. Sur 10.7 Lion vous peut le télécharger gratuitement sur l'App Store, ou le télécharger ici pour 10.6: http://developer.Apple.com/xcode/index.php

Il peut également être sur vos disques d'installation OSX, bien que probablement plus obsolète.

8
Alex Wayne

Juste un suivi ...

il se peut que vous soyez sur un mac et Rails ne trouve pas le bon compilateur pour les en-têtes c.

installez simplement xcode à partir de la boutique d'applications/homebrew ou accédez au terminal ...

$ xcode-select --install

terminer l'installation et convenir de la licence, etc., puis ...

$ Sudo gem install Rails

5
Jimmy M.G. Lim

Avez-vous installé les outils de développement OS X? Vous devrez le faire pour pouvoir créer des extensions natives

4
RyanWilcox

Il y a deux raisons possibles à l'échec:

  1. RAISON PRIMAIRE: Outils de ligne de commande Xcode manquants

Vérification manuelle de l'installation des outils de ligne de commande Xcode: Vérifier la présence de "/usr/include/iconv.h" (en cas d'absence => Xcode CLT manquant ou mal installé)

Installation de Xcode CLT: Essayez d'exécuter xcode-select --install sur le terminal et suivez les instructions. En cas d'échec, ouvrez Xcode.app, sélectionnez dans le menu "Xcode" - "Open Developer Tool" - "More Developer Tools" pour ouvrir le site du développeur, téléchargez le programme d'installation de votre version de système d'exploitation et exécutez-le.

  1. RAISON SECONDAIRE (si 1. échoue): problèmes de version Essayez de mettre à niveau la version Ruby en utilisant rbenv.

J'espère que cela aide!

3
Mohit Chawla

Les outils de ligne de commande n'ont pas résolu ce problème pour moi. J'ai mis à niveau Ruby installation via rbenv vers 2.2.0, fait que l'installation globale par défaut Ruby, et ce problème a été corrigé.

1
tzharg

Essayez d'installer Ruby via RVM. J'ai résolu de cette façon

Comment installer Ruby sur Ubuntu avec rvm

1
sparkle

Je viens d'avoir un problème similaire. Je peux confirmer que l'installation des outils de ligne de commande le corrige.

0