Estaba intentando ejecutar gem install json y obtuve el siguiente error
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
Estoy usando:
Os X: 10.9.2
Xcode: 5.1 Versión de compilación 5B130a
Herramientas de línea de comandos (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27 revisión 41674) [universal.x86_64-darwin13]
Ruby Gem: 2.2 .2
GCC: 4.2.1 Apple LLVM versión 5.1 (clang-503.0.38) (basado en LLVM 3.4svn)
Respuestas:
Me encuentro exactamente con el mismo problema después de actualizar Xcode a 5.1 y las noticias de Apple no son buenas. De las notas de la versión Xcode 5.1 :
Parece que todas las gemas que violan las opciones del compilador deben actualizarse para usar opciones válidas. Se indica explícitamente que: Esta opción [error de degradación a advertencia] no se admitirá en el futuro .
La nota de clang que estamos viendo ( esto será un error grave (no se puede degradar a una advertencia) en el futuro ) corresponde al cambio anunciado en las notas de la versión.
Para responder a su pregunta específicamente, use lo siguiente para instalar la gema json:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
Sin embargo, tenga en cuenta que esto es solo una solución temporal.
fuente
ARCHFLAGS
dos veces: al instalar gemas corruptas específicas y al ejecutar Bundler.clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
alguna idea?export ARCHFLAGS="..."
y luego ejecutar su comando de compilación en una nueva línea, comogem install json
(yo mismo estoy compilando módulos de Python). Por cierto, no olvide agregar archflags previamente existentes a la línea, o de lo contrario se sobrescribirán.Una sola línea para arreglar eso
fuente
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
Para solucionar el problema, puede instalar la versión más reciente de ruby como lo describe @Sash. Puede utilizar los siguientes comandos para hacerlo. En caso de que ya haya instalado rvm, no es necesario que lo vuelva a instalar.
fuente
Problema ya abordado por Ruby:
https://bugs.ruby-lang.org/issues/9624
ahora solo tenemos que esperar a que Apple actualice su versión ruby (2.0.0p247) a la que sigue a la última (2.0.0p451) que aún no ha salido ... (o brew / macport it)
Actualización (2014-05-15): Mavericks 10.9.3 actualiza ruby a
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Y esto parece resolver el problema.fuente
@Muncken ya ha proporcionado una respuesta para instalar gemas una por una:
Basado en la respuesta de Muncken, he intentado que también funcione cuando se usa
bundle install
fuente
gem install
, intenté quebundle install
también funcionaEn mi caso, tengo un problema similar, pero no en el sistema ruby, sino en rubies instalado por rvm desde OSX 10.8, y tiene problemas después de actualizar a OSX 10.9.
Una simple reinstalación funciona:
rvm reinstall ruby-2.1.1
fuente
En OSX 10.10, tuve varios problemas al ejecutar
rails new firstapp
, como:Actualicé rvm con esta configuración y ¡todos los errores desaparecieron !:
Puede decir por el nombre de la aplicación que acabo de empezar a jugar con Ruby on Rails, por lo que los consejos anteriores pueden funcionar o no para usted.
fuente
Parece que la frase de Paul Chechetin ya no funciona (21/9/15). Sin embargo, esta respuesta a la publicación mencionada en la respuesta de Pete me resolvió el problema:
sudo gem uninstall compass
sudo gem install compass
fuente
gem install json
nuevo y funcionó.Ninguno de estos funcionó para mí.
Lo que finalmente funcionó es ejecutar el comando con un sudo:
gem install byebug -v '9.0.6'
fuente
Usé una solución simple ... instalar a través de brew
brew nombre de instalación
fuente