La gema nativa 'json' requiere herramientas de construcción instaladas

178

Lo he ruby 1.9.2p180 (2011-02-18) [i386-mingw32]instalado en mi máquina con Windows 7. Ahora intenté instalar la gema JSON usando el comando "gem install json" y obtuve el siguiente error.

ERROR:  Error installing JSON:
    The 'json' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from '[http://rubyinstaller.org/downloads][1]' and follow the instructions
at '[http://github.com/oneclick/rubyinstaller/wiki/Development-Kit][2]'

Luego fui y descargué DevKit-4.5.0-20100819-1536-sfx.exe. Lo extrajo a C: \ DevKit. Y luego, desde el símbolo del sistema, ejecuté los siguientes comandos.

ruby dk.rb init

Después de ejecutar el comando anterior, verifiqué que config.yaml se genera y tiene la ruta para mi carpeta ruby ​​agregada automáticamente. Esta es la línea en la parte inferior del archivo config.yaml "- C: / Ruby192"

ruby dk.rb review

Recibí el mensaje de que la funcionalidad devkit se inyectará en los rubíes cuando ejecutes "ruby dk.rb install"

ruby dk.rb install

Recibí el siguiente mensaje.

[INFO] RubyGems override already in place for C:/Ruby192, skipping.
[INFO] Installing C:/Ruby192/lib/ruby/site_ruby/devkit.rb

Ahora intenté ejecutar la gema JSON nuevamente usando el comando gem install json. Luego recibí el mismo mensaje de error que antes.

ERROR:  Error installing JSON:
    The 'json' native gem requires installed build tools.........

¿Me estoy perdiendo de algo?

sridhar249
fuente

Respuestas:

53

Creo que esos instaladores hacen cambios en el camino. ¿Intentaste cerrar y volver a abrir la ventana CMD después de ejecutarlos y antes del último intento de instalar la gema que quiere que esté presente devkit?

Además, asegúrese de estar utilizando el instalador devkit correcto para su versión de Ruby. La documentación en la página wiki de devkit tiene una nota de requisitos que dice:

Para las versiones de RubyInstaller 1.8.7, 1.9.2 y 1.9.3, use DevKit 4.5.2

Chuck van der Linden
fuente
3
Hola Chuck van, cerré la ventana de CMD y la abrí nuevamente y ejecuté el "gem install json". Tampoco ayudó. Sigue siendo el mismo error que mencioné en la pregunta. Incluso intenté instalar ruby ​​1.9.2 en otra máquina con Windows 2003 que tenemos en nuestra oficina, instalé devkit y luego probé "gem install json". Veo el mismo problema ("ERROR: Error al instalar json: la gema nativa 'json' requiere herramientas de compilación instaladas ........."). ¿Cualquier otra sugerencia? ¿Necesitas más información de mi parte?
sridhar249
Como ya mencioné en la pregunta, estoy usando "DevKit-4.5.0-20100819-1536-sfx.exe". Creo que este es el devkit correcto para usar con Ruby1.9.2.
sridhar249
3
¿Seguiste todas las instrucciones de esta página? github.com/oneclick/rubyinstaller/wiki/Development-Kit . el devkit es un archivo autoextraíble, si todo lo que hizo fue ejecutar el archivo que descargó, solo está a medio camino de instalarlo.
Chuck van der Linden el
55
si. Seguí todas las instrucciones. Finalmente lo conseguí funcionando. Intenté usar "DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe" en lugar de "DevKit-4.5.0-20100819-1536-sfx.exe" y funcionó para mí. Gracias por todo su apoyo Chuck Van.
sridhar249
Seguí las instrucciones, funcionó para mí. C: \ DevKit> gem install json Mejorando temporalmente la RUTA para incluir DevKit ... Construyendo extensiones nativas. Esto podría tomar un tiempo ... Instalado con éxito json-1.8.1 1 gema instalada Instalando documentación de ri para json-1.8.1 ... Instalando documentación de RDoc para json-1.8.1 ...
ktang
352

Siga las instrucciones del Wiki del kit de desarrollador de Ruby Installer :

  1. Descargar Ruby 1.9.3 desde rubyinstaller.org
  2. Descargue el archivo DevKit de rubyinstaller.org
  3. Extraiga DevKit a la ruta C: \ Ruby193 \ DevKit
  4. correr cd C:\Ruby193\DevKit
  5. correr ruby dk.rb init
  6. correr ruby dk.rb review
  7. correr ruby dk.rb install

Para volver al problema en cuestión, debería poder instalar JSON (o probar que su DevKit se instaló correctamente) ejecutando los siguientes comandos que realizarán una instalación de la gema JSON y luego usarla:

gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
Massimo Fazzolari
fuente
44
Me gustaría agregar que debe asegurarse de que cualquier mensaje que esté utilizando tenga derechos de administrador o obtendrá errores durante la instalación (al menos
win8
44
Me funcionó con // Ruby 1.9.3-p194 // ... el "problema" parece ser que DevKit debe ser un subdirectorio de su directorio Ruby ... o tal vez es que su directorio Ruby debe estar en la raíz de la unidad. Uf, me alegro de que eso funcione. Me ha estado volviendo loco por horas.
corlettk
3
También funcionó para mí, recuerde poner la carpeta DevKit en la carpeta ruby. De lo contrario no funcionará.
Rails principiante
1
1.9.3 p0 ya no está allí en descargas. Tal vez debería mencionar que usa cualquier 1.9.3 (si funciona, eso es). A mí me funcionó.
Jus12
44
Funciona también para Ruby 2.0.
CJBrew
10

He encontrado que el error a veces es causado por una biblioteca que falta.

así que si instala RDOC primero ejecutando

joya instalar rdoc

luego instale rieles con:

rieles de instalación de gemas

luego regrese e instale las devtools como se mencionó anteriormente con:

1) Extraer DevKit a la ruta C:\Ruby193\DevKit
2) cd C:\Ruby192\DevKit
3) ruby dk.rb init
4) ruby dk.rb review
5)ruby dk.rb install

luego intente instalar json

que culminan contigo finalmente pudiendo correr

rails new project_name - sin errores.

buena suerte

Phineas Dashevsky
fuente
8

Seguí los pasos.

  1. Extraer DevKital caminoC:\Ruby193\DevKit
  2. cd C:\Ruby192\DevKit
  3. ruby dk.rb init
  4. ruby dk.rb review
  5. ruby dk.rb install

Entonces escribí el comando

gem install rails -r -y
Evangelos Alimpertis
fuente
Instalé usando gem install devkit, ¿ese método es incorrecto?
Bhabani Sankar Mishra
7

1) Descargar Ruby 1.9.3

2) comando de comprobación de cmd: ruby -v'return result ruby ​​1.9.3 then éxito instalación completa ruby

3) Descargue el archivo DevKit de http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe)

4) Extraiga DevKit a la ruta C: \ Ruby193 \ DevKit

5) cd C:\Ruby193\DevKit

6) ruby dk.rb init

7) ruby dk.rb review

8) ruby dk.rb install

9) cmd: gem install rails -v3.1.1'pocas veces instalando el proceso completo'

10) cmd: rails -v'devuelve rieles de resultados 3.1.1 luego su instalación completa con éxito'

disfruta Ruby on Rails ...

Ravi Parsania
fuente
Esta es la única solución que funcionó para Ruby 1.9.3 en Windows 7.
jahackbeth
ya es solo para Windows 7
Ravi Parsania
Sí hermano, también funciona en Windows 7 y Ruby / DevKit 2.3.x
Ravinder Payal
5

Me gustaría agregar que debe asegurarse de que el config.ymlarchivo generado al hacerlo ruby dk.rb initcontenga la ruta a la instalación de ruby ​​con la que desea usar DevKit. En mi caso, tenía el Heroku Toolbelt instalado en mi sistema, que proporcionaba su propia instalación de rubí, ubicada en un lugar diferente. El config.ymlarchivo utilizó esa instalación en particular, y eso no es lo que quería. Tuve que editar manualmente el archivo para señalarlo al correcto, luego continuar con ruby dk.rb review, etc.

marco-fiset
fuente
1

Mi solución es más simple y comprobada en Ruby 2.0. También permite descargar Json. (ejecute CMD.exe como administrador)

    C:\RubyDev>devkitvars.bat
    Adding the DevKit to PATH...

Y luego vuelve a escribir el comando gema.

Artur_PL
fuente
1

Mi gema versión 2.0.3 y estaba teniendo el mismo problema. Este comando lo resolvió:

gem install json --platform=ruby --verbose
Chitresh Goyal
fuente
Gosh, he estado buscando en todas partes para arreglar esto y esto lo hice. Bien hecho, vota arriba :-)
Matthew Blott