update rails mac ruby macos rubygems

ruby - mac - rvm install rails



Instalación de Ruby Gem Json falla en Mavericks y Xcode 5.1-argumento desconocido: ''-multiply_definedsuppress'' (10)

@Muncken ya ha proporcionado una respuesta para instalar la gema una por una:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

Basándome en la respuesta de Muncken, probé que también funciona cuando se usa la bundle install

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle install

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 Build versión 5B130a
Herramientas de línea de comandos (CLT): 5.1.0.0.1.1393561416
Ruby: ruby ​​2.0.0p247 (revisión de 2013-06-27 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)


El juego de una sola línea de Paul Chechetin ya no parece funcionar (21/09/15). Sin embargo, esta respuesta a la publicación mencionada en la respuesta de Pete resolvió el problema para mí:

  • (a) Instale el XCode de Apple, luego (b) inicie y acepte los términos de la licencia (lo había hecho (a), pero no (b)).
  • sudo gem uninstall compass
  • sudo gem install compass

En OSX 10.10, tuve varios problemas al ejecutar los rails new firstapp como:

ERROR: Error installing json: ERROR: Failed to build gem native extension. fatal error: ''ruby/config.h'' file not found

¡Actualicé rvm con esta configuración y todos los errores desaparecieron !:

rvm get stable --auto-dotfiles

Puede decir por el nombre de la aplicación que acabo de comenzar a jugar con Ruby on Rails, por lo que los consejos anteriores pueden o no funcionar para usted.


En mi caso, en realidad tengo un problema similar, pero no en el ruby ​​del sistema, sino en rubies instalados 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


Me encuentro 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 de Xcode 5.1 :

  • El compilador LLVM de Apple en Xcode 5.1 trata las opciones de línea de comandos no reconocidas como errores. Este problema se ha observado al crear extensiones nativas de Python y Ruby Gems, donde actualmente se especifican algunas opciones de compilador no válidas.

Los proyectos que usen opciones de compilador no válidas deberán cambiarse para eliminar esas opciones. Para ayudar a facilitar esa transición, el compilador aceptará temporalmente una opción para degradar el error a una advertencia:

-Wno-error=unused-command-line-argument-hard-error-in-future

Para solucionar este problema, configure la variable de entorno ARCHFLAGS para degradar el error a una advertencia.

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName

Parece que todas las gemas que violan las opciones del compilador deben actualizarse para usar opciones válidas. Se establece explícitamente que: Esta opción [degradación de error a advertencia] no se admitirá en el futuro .

La nota de clang que estamos viendo ( este será un error difícil (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

Tenga en cuenta, sin embargo, que esto es solo una solución temporal.


Ninguno de estos funcionó para mí.

Lo que finalmente funcionó es ejecutar el comando con un sudo -

joya instalar byebug -v ''9.0.6''


One-liner para arreglar eso

curl https://gist.githubusercontent.com/Paulche/9713531/raw/1e57fbb440d36ca5607d1739cc6151f373b234b6/gistfile1.txt | sudo patch /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb


Para resolver el problema, puede instalar la versión más reciente de ruby ​​según lo describe @Sash. Puede usar los siguientes comandos para hacerlo. En caso de que ya haya instalado rvm, no necesita reinstalarlo.

#Install rvm /curl -sSL https://get.rvm.io | bash -s stable #Install ruby version 2.0.0-p451 rvm install ruby-2.0.0-p451 #Print ruby version to verify that it was installed successfully ruby -v #Install json gem sudo gem install json


Problema ya abordado por Ruby:

https://bugs.ruby-lang.org/issues/9624

ahora solo tenemos que esperar a que Apple actualice su versión de ruby ​​(2.0.0p247) a la que está después de la última (2.0.0p451) que aún no ha salido ... (o brew / macport)

Actualización (15-05-2015): Mavericks 10.9.3 actualiza ruby ​​to ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] Y esto parece resolver el problema.


Utilicé una solución simple ... instalar a través de brew

brew nombre de instalación