2009-04-17 16 views
28

Necesito instalar la joya JSON para iniciar mi aplicación, pero aparece el siguiente error cada vez que intento instalar la gema json. Puede alguien ayudarme. Estoy usando Rails 2.2.2 y gems 1.3.1.Cuando pruebo sudo gem install json recibo el siguiente error

Arions-macbook-pro:.ssh arion$ sudo gem install json 
Password: 
Sorry, try again. 
Password: 
Building native extensions. This could take a while... 
ERROR: Error installing json: 
    ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install json 
can't find header files for ruby. 


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.1.4 for inspection. 
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.1.4/ext/json/ext/parser/gem_make.out 
+0

Tenga cuidado de instalar/cambiar el rubí instalado por Apple. A menos que esté seguro de que sabe lo que está haciendo, es mejor instalar RVM o rbenv, y dejar que administre el sandbox de Ruby. –

+2

Si la instalación de herramientas de línea de comandos de xcode no soluciona el problema, y ​​'make' no puede encontrar' gcc', consulte esta pregunta: http://stackoverflow.com/q/12256616/637283 –

+4

¿Ha instalado ruby-dev? – LB40

Respuesta

15

Te estas faltando los encabezados de desarrollo ruby. Para instalar estos en un sistema operativo como Ubuntu se debe utilizar:

aptitude install ruby1.8-dev 
+0

Im utilizando una mac ... ¿todavía tengo que instalar ruby-dev? –

+1

sí, necesita ruby-dev – Palesz

+5

-1 'aptitude' no sirve de ayuda ya que no está instalado en Mac OS X. –

4

Los encabezados de rubí no vienen instalados con el rubí base instalada con Mac OS X. Estos se han encontrado en Mac OS X disco de instalación 2 mediante la instalación las herramientas XCode.

¡Una vez instalado, todo estaba bien!

ACTUALIZACIÓN A partir de al menos OS X 10.7.3 esto ya no es un problema, "simplemente funciona"

MacBook-Pro:tmp$ sudo gem install json 
Password: 
Building native extensions. This could take a while... 
Successfully installed json-1.6.5 
1 gem installed 
Installing ri documentation for json-1.6.5... 
Installing RDoc documentation for json-1.6.5... 
MacBook-Pro:tmp$ uname -a 
+10

Um, no es cierto. Tal vez fue algo más que causó que esto "simplemente funcione" para usted. – GarlicFries

3

Instalación de línea de comando herramientas Xcode ... deben solucionar este problema.

2

Un simple google search revela esto:

Si se obtiene el no puede encontrar los archivos de cabecera de mensaje de error rubí cuando se trata de construir una extensión o una joya, significa que Ruby no puede localizar sus archivos de cabecera.

Los archivos de encabezado no se entregan de manera predeterminada con Mac OS X, debe instalar el paquete de herramientas de Xcode después de la instalación. Puede encontrarlo en el directorio de Instalaciones Opcionales/Xcode en el DVD de Leopard.

-1

Tuve el mismo problema.

Aquí es mis aventuras (esperan que sea útil):

solucionarlo he hecho muchas manipulaciones :-)

estoy usando Fedora Core. lo he arreglado de esta manera:

He instalado carriles-devel:

sudo yum install rails-devel

intentó de nuevo:

sudo gem install rails

pero tengo otro problema:

Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb creating Makefile 

make gcc -I. -I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -fno-strict-aliasing -fPIC -O3 -Wall -c parser.c make: gcc: Command not found

Así que he instalado GCC:

sudo yum install gcc

intentó de nuevo:

sudo gem install rails

ahora tengo otro problema))):

Installing ri documentation for json-1.6.3... ERROR: While generating documentation for json-1.6.3 ... MESSAGE: no such file to load -- irb/slex ... RDOC args: --ri --op /usr/lib/ruby/gems/1.8/doc/json-1.6.3/ri --title JSON implemention for Ruby --main README.rdoc ext/json/ext ext lib README.rdoc --title json-1.6.3 Documentation --quiet

Así instalado rubí IRB:

sudo yum install ruby-irb

intentó de nuevo:

sudo gem install rails

Successfully installed rails-3.1.3

Eso es todo)))

+0

¿Instaló Fedora Core en una caja de Mac OS solo para instalar Ruby? No creo que leas bien la pregunta. –

2

Resulta que ciertas gemas requieren algunos archivos de encabezado ruby ​​para instalar correctamente. Estos archivos de encabezado no se envían con Lion (OSX 10.7).

También resulta que Xcode 4 (última versión) tampoco instala estos archivos de cabecera. Intenté esto.

Solución - Suponiendo que está en Mac OS X (parece que se basa en la salida del terminal). Para conseguir que funcione he instalado gcc con algunas herramientas de desarrollo de la página siguiente

Debería poder instalar las gemas ahora, ya sea con gem install o bundle install.

Overhead Si le preocupa la otra basura que esto conlleva, aquí hay un resumen.

  • gcc - útil
  • make - útil
  • clang - útil para ObjectiveC
  • y gratuita de la CLI (purga, etc) - útil?
  • DevSDK (cabeceras, etc) - lo que necesita
13

Si usted tiene este problema:

ERROR: Error installing json: 
ERROR: Failed to build gem native extension. 

y está utilizando un Mac con OS X (10.8.1 probado con la montaña Lion), necesitas descargar Xcode desde la Mac App Store (o desde developer.apple.com si tienes una cuenta dev, es gratis BTW y puedes descargar un instalador DMG)

Las últimas versiones de Xcode (I ' m usando Xcode 4.4.1) do NO incluye herramientas de línea de comandos. Ahora necesita instalar este paquete adicional dentro de Xcode. Una vez hecho, su problema es reparado.

Para hacer eso, abra Xcode, vaya a Preferencias> Descargas> Componentes. Instalar "Herramientas de línea de comandos". Ya terminaste Ahora puedes instalar la gema json Ruby.

enter image description here

+0

Para obtener las herramientas de desarrollo de línea de comandos y evitar la instalación de Xcode: http://stackoverflow.com/a/19532316/637283 –

-1

Aquí está mi solución:

rvm gem install json -v=xxx

Mi configuración:

 
OSX Lion 
ruby-1.9.3 
rvm 
gcc-4.2 #=> honestly haven't seen that it's been used 
0

Si utiliza homebrew, ejecute brew doctor. Puede descubrir que las bibliotecas de gcc necesarias para la compilación están desactualizadas y/o faltantes.

Warning: No compiler found in /usr/bin! 
Warning: Your Xcode (4.2) is outdated 

checking for gcc... /Developer/usr/bin/llvm-gcc 
checking whether the C compiler works... no 
configure: error: in `/private/tmp/freexl-apNF/freexl-1.0.0d': 
configure: error: C compiler cannot create executables 

Para los usuarios de Lion y Mountain Lion, Apple ahora proporciona un Herramientas oficiales de línea de comandos para el paquete de Xcode que se puede instalar sin necesidad de instalar Xcode sí mismo! Puede descargarlo desde el sitio para desarrolladores de Apple https://developer.apple.com/downloads/index.action. Si aún necesita gcc-4.2 y usa Homebrew, puede instalarlo usando el paquete apple-gcc42 de homebrew/dupes.

18

Con Mavericks, puede resolver este problema al instalar las herramientas Xcode línea de comandos desde la línea de comando como este:

xcode-select --install

Actualización: No se olvide de aceptar el contrato de licencia después de instalar o actualización

sudo xcodebuild -license

Cuestiones relacionadas