Ruby Gem install Json échoue sur Mavericks et Xcode 5.1 - inconnu argument: "- multiply_definedsuppress'
J'ai essayé d'exécuter gem install json et a obtenu l'erreur suivante
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out
Je suis en utilisant:
Os X: 10.9.2
Xcode: 5.1 version 5B130a
Outils de Ligne de commande (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27 révision 41674) [universelle.x86_64-darwin13]
Ruby Gem: 2.2.2
GCC: 4.2.1 Apple LLVM version 5.1 (clang-503.0.38) (basé sur LLVM 3.4 svn)
- J'ai fait beaucoup de choses en essayant de résoudre ce problème et je ne sais pas exactement qui est résolu mais j'ai installé la nouvelle version de ruby, téléchargé la version précédente des Outils de Ligne de Commande (Fin octobre) et exécuté la commande @Muncken 's réponse (ARCHFLAGS=-Wno-erreur=inutilisé-de ligne de commande-argument-dur-erreur-de-l'avenir {commande d'origine}). Qui a résolu mon problème. Dans mon cas précis, j'ai été à l'aide de machines à installer mon environnement de la dernière commande que j'ai utilisé était ARCHFLAGS=-Wno-erreur=inutilisé-de ligne de commande-argument-dur-erreur-en-avenir /opt/boxen/repo/script/boxen --no-fde. Merci à tous ceux qui m'ont aidé.
- Mavericks 10.9.3 mises à jour ruby: ruby 2.0.0p451 (2014-02-24 révision 45167) [universelle.x86_64-darwin13] Cela semble résoudre le problème.
- Le problème est avec les anciennes version de ruby comme @Vantail dit. J'ai eu de mise à jour 2.0.0p451 manuellement à partir de 2.0.0p2.. à l'aide de rvm: rvm install ruby 2.0.0-p451. rvm devez définir comme version par défaut ensuite, vous avez juste besoin de réinstaller votre gemmes
- Je vais avoir ce problème avec rvm ruby 2.2.0p0 (2014-12-25 révision 49005)
Vous devez vous connecter pour publier un commentaire.
Je rencontre exactement le même problème après la mise à jour de Xcode 5.1 et nouvelles d'Apple ne sont pas bons. De Xcode 5.1 Notes De Version:
Il semble que toutes les gemmes de violer les options du compilateur doit être mis à jour pour utiliser les options valides. Il est expressément indiqué que: Cette option [déclassement erreur avertissement] ne seront pas pris en charge dans l'avenir.
Le cliquetis noter que nous voyons (ce sera une erreur de disque dur (ne peut pas être réduite à un avertissement à l'avenir)) correspond à la variation annoncé dans les notes de version.
Pour répondre à votre question plus précisément, utilisez la commande suivante pour installer le json gem:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
Noter, cependant, que ce n'est qu'une solution temporaire.
ARCHFLAGS
deux fois: lors de l'installation spécifique corrompu gemmes et lors de l'exécution de Bundler.clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
des idées?export ARCHFLAGS="..."
, puis l'exécution de votre commande compile dans une nouvelle ligne, commegem install json
(je suis de la compilation des modules Python de moi-même). Par le chemin, n'oubliez pas d'ajouter existant précédemment archflags à la ligne, ou bien ils seront écrasés.One-liner pour corriger cela
patching file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb Hunk #1 FAILED at 82. Hunk #2 FAILED at 125. 2 out of 2 hunks FAILED -- saving rejects to file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb.rej
Pour régler le problème, vous pouvez installer la version la plus récente de ruby comme décrit par @Guillotine. Vous pouvez utiliser les commandes suivantes pour le faire. Dans le cas où vous avez déjà installé rvm, vous n'avez pas besoin de le réinstaller.
Question déjà abordée par Ruby:
https://bugs.ruby-lang.org/issues/9624
maintenant nous avons juste besoin d'attendre pour Apple de mettre à jour leur version de ruby (2.0.0p247) à celle d'après la dernière (2.0.0p451) qui n'a pas encore ...
(ou d'un thé/macport il)
Mise à jour (2014-05-15): Mavericks 10.9.3 mises à jour ruby
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Et il semble que le problème est résolu.
@Muncken a déjà apporté une réponse à installer gem, un par un:
Base sur Muncken réponse, j'ai essayé ce qu'il fonctionne aussi lors de l'utilisation de
bundle install
gem install
, j'ai essayébundle install
fonctionne aussiDans mon cas, j'ai effectivement le même problème, mais pas sur le système de ruby, mais sur rubis installé par rvm à partir de OSX 10.8, et il a des problèmes après la mise à jour d'OSX 10.9.
Un simple réinstaller works:
rvm reinstall ruby-2.1.1
Sur OSX 10.10, j'ai eu plusieurs problèmes lors de l'exécution
rails new firstapp
tels que:J'ai mis à jour rvm avec cette configuration et toutes les erreurs ont disparu!:
Vous pouvez dire à partir du nom de l'application que je viens de commencer à jongler avec Ruby on Rails, de sorte que les conseils ci-dessus peut ou peut ne pas fonctionner pour vous.
Paul Chechetin du one-liner qui ne fonctionne pas plus (9/21/15). Cependant, cette réponse pour le poste mentionné dans Pete réponse a résolu le problème pour moi:
sudo gem uninstall compass
sudo gem install compass
gem install json
de nouveau et cela a fonctionné!Aucun de ces fonctionné pour moi.
Ce que finalement travaillé exécute la commande avec sudo -
gem install byebug -v '9.0.6'
J'ai utilisé une solution simple... installer dans les centres de brassage
brew install nom