while - Cuando intento sudo gem install json me sale el siguiente error
installing json 1.8 0 with native extensions gem:: error failed to build gem native extension (10)
Necesito instalar la gema JSON para iniciar mi aplicación, pero me aparece el siguiente error cuando intento instalar la gema json. Puede alguien ayudarme. Estoy usando rieles 2.2.2 y gemas 1.3.1.
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
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
Con Mavericks, puede resolver este problema instalando las Herramientas de línea de comandos de Xcode desde la línea de comandos de esta manera:
xcode-select --install
Actualización: No olvide aceptar el acuerdo de licencia después de instalar o actualizar:
sudo xcodebuild -license
Instalar las herramientas de línea de comandos de Xcode ... debería solucionar este problema.
Las cabeceras ruby no vienen instaladas con la base ruby install con Mac OS X. Se pueden encontrar en el disco de instalación 2 de Mac OS X instalando las herramientas XCode.
Una vez instalado, todo estuvo 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
Resulta que ciertas gemas requieren algunos archivos de encabezado ruby para instalarse 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 encabezado. Intenté esto.
Solución: suponiendo que esté en Mac OS X (parece que se basa en la salida del terminal). Para que funcione, instalé gcc con algunas herramientas de desarrollo de la página siguiente.
- Visite https://github.com/kennethreitz/osx-gcc-installer
- Desplácese hasta el archivo README y descargue el paquete apropiado (para OSX 10.7 o 10.6)
- Abra el archivo
.pkg
y ejecute el instalador.
Debería poder instalar las gemas ahora, ya sea con gem install
o bundle install
.
Overhead Si está preocupado por la otra basura con la que viene, aquí hay un resumen.
-
gcc
- útil -
make
- útil -
clang
- útil para ObjectiveC - Desarrollador de herramientas de CLI (purga, etc.): ¿útil?
- DevSDK (encabezados, etc.) - lo que necesitas
Si tienes este problema:
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
y estás usando una Mac con OS X (probado con 10.8.1 Mountain Lion), necesitas descargar Xcode de la Mac App Store (o de developer.apple.com si tienes una cuenta de desarrollo) es gratis por cierto y puedes descargar un instalador DMG)
Las últimas versiones de Xcode (estoy usando Xcode 4.4.1) NO incluyen herramientas de línea de comandos. Ahora necesitas instalar este paquete adicional dentro de Xcode. Una vez hecho esto, su problema está solucionado.
Para hacerlo, abra Xcode, vaya a Preferencias> Descargas> Componentes. Instale "Herramientas de línea de comandos". Estas hecho Ahora puedes instalar la joya json ruby.
Si utiliza Homebrew, ejecute brew doctor
. Puede descubrir que las bibliotecas gcc requeridas para la compilación están desactualizadas y / o faltan.
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 paquete oficial de herramientas de línea de comandos para Xcode que puede instalar sin necesidad de instalar Xcode! Puede descargarlo del sitio para desarrolladores de Apple https://developer.apple.com/downloads/index.action . Si aún necesita gcc-4.2 y utiliza Homebrew, puede instalarlo usando el paquete apple-gcc42 de homebrew / dupes.
Te faltan los encabezados de desarrollo de rubí. Para instalarlos en un sistema operativo como Ubuntu, debe usar:
aptitude install ruby1.8-dev
Una simple búsqueda en google revela esto:
Si no puede encontrar los archivos de encabezado para el mensaje de error de ruby cuando intenta crear una extensión o una gema, significa que Ruby no puede ubicar sus archivos de encabezado.
Los archivos de encabezado no se entregan de forma predeterminada con Mac OS X, debe instalar el paquete Xcode Tools después de la instalación. Puede encontrarlo en el directorio de instalaciones opcionales / Xcode Tools en el DVD de Leopard.
Yo tuve el mismo problema.
Aquí están mis aventuras (espero que sean útiles):
Para solucionarlo he hecho muchas manipulaciones :-)
Estoy usando Fedora Core. Lo he arreglado de esta manera:
He instalado rieles-devel:
sudo yum instalar rails-devel
intentó de nuevo:
sudo gema instalar rieles
pero tengo otro problema:
Construcción de extensiones nativas. Esto podría llevar un tiempo ... ERROR: Error al instalar los rieles: ERROR: Error al crear la extensión nativa de la gema.
/usr/bin/ruby extconf.rb creating Makefile
hacer 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: comando no encontrado
Así que he instalado GCC:
sudo yum instalar gcc
intentó de nuevo:
sudo gema instalar rieles
Ahora tengo otro problema))):
Instalación de la documentación de ri para json-1.6.3 ... ERROR: Al generar la documentación para json-1.6.3 ... MENSAJE: no se debe cargar dicho archivo - irb / slex ... Args de RDOC: --ri --op /usr/lib/ruby/gems/1.8/doc/json-1.6.3/ri --title Implementación JSON para Ruby --main README.rdoc ext / json / ext ext lib lib README.rdoc --title json-1.6. 3 Documentación - tranquila
Así instalado ruby-irb:
sudo yum instalar ruby-irb
intentó de nuevo:
sudo gema instalar rieles
Rieles instalados con éxito-3.1.3
Eso es todo )))