40 votes

outils de ligne de commande pour le nouvel OSX 10.9 pour ruby gems?

Après l'installation de OSX Mavericks 10.9 démo, Im se présente après l'exécution de bundle

    Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 
extconf.rb:17: Use RbConfig instead of obsolete and deprecated Config.
checking for socket() in -lsocket... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/sandric/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-socketlib
    --without-socketlib
/Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:476:in `try_link'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:619:in `try_func'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:845:in `block in have_library'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
    from /Users/sandric/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:840:in `have_library'
    from extconf.rb:27:in `<main>'


Gem files will remain installed in /Users/sandric/.bundler/tmp/5282/gems/libxml-ruby-2.6.0 for inspection.
Results logged to /Users/sandric/.bundler/tmp/5282/gems/libxml-ruby-2.6.0/ext/libxml/gem_make.out
An error occurred while installing libxml-ruby (2.6.0), and Bundler cannot continue.
Make sure that `gem install libxml-ruby -v '2.6.0'` succeeds before bundling.

Je pense que je n'ai pas d'outils de ligne de commande, j'ai donc essayé de télécharger certains. Il a constaté qu'il n'y a pas de lien classique dans mon XCode (il est 4, pas 5, je ne sais pas pourquoi. Si il ya une certaine façon de l'installer cinquième xcode - s'il vous plaît aider). Donc, je suis allé à l'apple aux développeurs de site web, et pas trouvé des outils en ligne de commande pour 10.9. J'ai essayé pour 10,8 - elle imprime "Essayez d'installer 10.7", après avoir essayé avec des outils de 10.7 - elle imprime "essayez pour 10,8".

S'il vous plaît, aider. Je vais vous donner toutes les infos pour obtenir de l'aide.

99voto

Daniel Dunbar Points 1809

TLDR:

xcode-select --install

Dans OS X 10.9, la ligne de commande outils de développement sont maintenant installés sur la demande lorsqu'ils sont utilisés (c'est le pop-up que vous mentionnez voir plus tard dans un autre commentaire).

La première fois que quelque chose essaie d'utiliser l'un des outils de ligne de commande, le menu contextuel sera présenté et la commande initiale sera de retour avec un message que les outils de ligne de commande doivent être installés et avec un code d'erreur. Dans ce cas, le problème est que le ruby processus de masquer le message sur la ligne de commande des outils sont nécessaires.

Si vous souhaitez installer de façon explicite les outils de ligne de commande (au lieu d'attendre le popup à être déclenchée), vous pouvez exécuter xcode-select --install. Les outils de ligne de commande forfait est également disponible en téléchargement indépendant de http://developer.apple.com/downloads.

Notez que si vous avez Xcode installé sur votre système, vous n'avez plus besoin de le séparer de la ligne de commande package d'outils, les outils dans /usr/bin va automatiquement utiliser ceux situés à l'intérieur de l'application Xcode. C'est pourquoi le Xcode, INTERFACE ne propose plus l'option pour installer les outils de ligne de commande pour vous.

15voto

iehlert Points 159

Pour que d'autres rencontrent ce problème, je devais également installer apple-gcc via brew pour que cela fonctionne:

brew install apple-gcc42

8voto

biobonnie Points 81

J'ai eu le même problème lors de l'installation de gems après la mise à niveau vers OSX Mavericks. J'ai vu cela parmi les messages d'erreur:

 make: gcc-4.2: No such file or directory
 

Ce qui suggère qu'il a du mal à trouver gcc. Quand je tape "ls / usr / bin", je vois que j'ai "gcc" mais pas "gcc-4.2". J'ai donc mis en place un lien symbolique pour lui dire de regarder dans "gcc" au lieu de "gcc-4.2", comme ceci:

 sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
 

Cela a résolu mon problème. J'espère que ça aide.

5voto

Stanley Points 51

Je devais exécuter à la fois xcode-select --install et sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 pour obtenir le paquet à installer ffi

1voto

mc01 Points 718

XCode 5.0.2 sur Mavericks m'a donné la même erreur. Il semble que cela n’ait pas été corrigé dans la version 5.0.1 comme prévu.

Essayer xcode-select -- install a ouvert une boîte de dialogue pour installer des outils de ligne de commande (ce que j'avais déjà fait deux fois), mais a échoué car ils "n'ont pas été trouvés sur le serveur". Peut-être que cette approche est obsolète?

La solution ci-dessus de biobonnie a fonctionné pour moi:

 sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 
 

Après cela, les cocoapods s’installent enfin correctement! Merci! (Je voterais bien, mais je ne peux pas encore ...)

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