La gemma nativa "json" richiede strumenti di costruzione installati


178

Ho ruby 1.9.2p180 (2011-02-18) [i386-mingw32]installato sulla mia macchina Windows 7. Ora ho provato a installare la gemma JSON usando il comando "gem install json" e ho ottenuto il seguente errore.

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]'

Poi sono andato e scaricato DevKit-4.5.0-20100819-1536-sfx.exe. Estratto in C: \ DevKit. E poi dal prompt dei comandi, ho eseguito i seguenti comandi.

ruby dk.rb init

Dopo aver eseguito il comando precedente, ho verificato che viene generato config.yaml e che ha aggiunto automaticamente il percorso per la mia cartella ruby. Questa è la riga in fondo al file config.yaml "- C: / Ruby192"

ruby dk.rb review

Ho ricevuto il messaggio che la funzionalità devkit verrà iniettata nei rubini quando si esegue "ruby dk.rb install"

ruby dk.rb install

Ho ricevuto il seguente messaggio.

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

Ora ho provato a eseguire nuovamente la gemma JSON usando il comando gem install json. Quindi ho ricevuto lo stesso messaggio di errore di prima.

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

Mi sto perdendo qualcosa?

Risposte:


53

Credo che quegli installatori apportino modifiche al percorso. Hai provato a chiudere e riaprire la finestra di CMD dopo averli eseguiti e prima dell'ultimo tentativo di installare la gemma che desidera presentare devkit?

Inoltre, assicurati di utilizzare il programma di installazione devkit giusto per la tua versione di Ruby. La documentazione sulla pagina wiki di devkit ha una nota sui requisiti che dice:

Per RubyInstaller versioni 1.8.7, 1.9.2 e 1.9.3 utilizzare DevKit 4.5.2


3
Ciao Chuck van, ho chiuso la finestra di CMD e l'ho riaperta e ho eseguito il "gem install json". Non ha aiutato neanche. Sempre lo stesso errore di cui ho parlato nella domanda. Ho anche provato a installare ruby ​​1.9.2 su un'altra macchina Windows 2003 che abbiamo nel nostro ufficio, ho installato devkit e poi ho provato "gem install json". Vedo lo stesso problema. ("ERRORE: errore durante l'installazione di json: la gemma nativa 'json' richiede strumenti di compilazione installati ........."). Altri suggerimenti? Hai bisogno di maggiori informazioni da parte mia?
sridhar249,

Come ho già detto nella domanda sto usando "DevKit-4.5.0-20100819-1536-sfx.exe". Credo che questo sia il devkit corretto da usare con Ruby1.9.2.
sridhar249,

3
hai seguito tutte le istruzioni in questa pagina? github.com/oneclick/rubyinstaller/wiki/Development-Kit . devkit è un archivio autoestraente, se tutto ciò che hai fatto è stato eseguire il file che hai scaricato, sei solo in parte durante l'installazione.
Chuck van der Linden,

5
sì. Ho seguito tutte le istruzioni. Finalmente l'ho fatto funzionare. Ho provato a utilizzare "DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe" invece di "DevKit-4.5.0-20100819-1536-sfx.exe" e ha funzionato per me. Grazie per tutto il tuo supporto Chuck Van.
sridhar249

Ho seguito le istruzioni, ha funzionato per me. C: \ DevKit> gem install json Miglioramento temporaneo del PERCORSO per includere DevKit ... Creazione di estensioni native. Questo potrebbe richiedere del tempo ... Installazione corretta json-1.8.1 1 gem installata Installazione della documentazione ri per json-1.8.1 ... Installazione della documentazione RDoc per json-1.8.1 ...
kang

352

Seguire le istruzioni dal Wiki del kit per sviluppatori di Ruby Installer :

  1. Scarica Ruby 1.9.3 da rubyinstaller.org
  2. Scarica il file DevKit da rubyinstaller.org
  3. Estrai DevKit nel percorso C: \ Ruby193 \ DevKit
  4. Correre cd C:\Ruby193\DevKit
  5. Correre ruby dk.rb init
  6. Correre ruby dk.rb review
  7. Correre ruby dk.rb install

Per tornare al problema attuale, dovresti essere in grado di installare JSON (o testare in altro modo che il tuo DevKit sia stato installato correttamente) eseguendo i seguenti comandi che eseguiranno un'installazione del gem JSON e quindi lo utilizzeranno:

gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"

4
Vorrei aggiungere che è necessario assicurarsi che qualsiasi prompt che si sta utilizzando disponga dei diritti di amministratore o che si verifichino errori durante l'installazione (almeno win8)
WSkid

4
Ha funzionato per me con // Ruby 1.9.3-p194 // ... il "gotcha" sembra essere che DevKit deve essere una sottodirectory della tua directory Ruby ... o forse è che la tua directory Ruby deve essere nella root del disco. Accidenti, sono contento che funzioni. Mi sta facendo impazzire da ore.
corlettk,

3
Ha funzionato anche per me, ricordati di mettere la cartella DevKit nella cartella ruby. Altrimenti non funzionerà.
Principiante di Rails

1
1.9.3 p0 non è più presente nei download. Forse dovresti menzionare che usi qualsiasi 1.9.3 (se funziona, cioè). Ha funzionato per me.
Jus12

4
Funziona anche per Ruby 2.0.
CJBrew

10

Ho scoperto che l'errore è talvolta causato da una libreria mancante.

quindi Se si installa RDOC prima eseguendo

gem install rdoc

quindi installare le guide con:

guide di installazione gem

quindi tornare indietro e installare i devtools come menzionato prima con:

1) Estrai DevKit sul percorso C:\Ruby193\DevKit
2) cd C:\Ruby192\DevKit
3) ruby dk.rb init
4) ruby dk.rb review
5)ruby dk.rb install

quindi prova a installare json

che culminano con te che finalmente riesci a correre

rails new project_name - senza errori.

in bocca al lupo


8

Ho seguito i passaggi.

  1. Estrai DevKitnel percorsoC:\Ruby193\DevKit
  2. cd C:\Ruby192\DevKit
  3. ruby dk.rb init
  4. ruby dk.rb review
  5. ruby dk.rb install

Quindi ho scritto il comando

gem install rails -r -y

Ho installato usando gem install devkit, questo metodo è sbagliato?
Bhabani Sankar Mishra

7

1) Scarica Ruby 1.9.3

2) comando cmd check: ruby -v'restituisce il risultato ruby ​​1.9.3, quindi l'installazione ruby ​​completa

3) Scarica il file DevKit da http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe)

4) Estrarre DevKit nel percorso 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'poche volte l'installazione del processo completo'

10) cmd: rails -v'restituisci le rotaie dei risultati 3.1.1 quindi il suo successo si installa completamente'

goditi Ruby on Rails ...


Questa è l'unica soluzione che ha funzionato per Ruby 1.9.3 su Windows 7.
jahackbeth,

è solo per Windows 7
Ravi Parsania,

Sì fratello, funziona anche su Windows 7 e Ruby / DevKit 2.3.x
Ravinder Payal

5

Vorrei aggiungere che è necessario assicurarsi che il config.ymlfile generato durante l'operazione ruby dk.rb initcontenga il percorso dell'installazione ruby ​​con cui si desidera utilizzare DevKit. Nel mio caso, avevo Herbel Toolbelt installato sul mio sistema, che forniva la sua installazione ruby, situata in un posto diverso. Il config.ymlfile utilizzava quella particolare installazione e non è quello che volevo. Ho dovuto modificare manualmente il file per puntarlo a quello corretto, quindi continuare con ruby dk.rb review, ecc.


1

La mia soluzione è più semplice e controllata su Ruby 2.0. Inoltre, consente di scaricare Json. (esegui CMD.exe come amministratore)

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

E poi riscrivi il comando gem.


1

La mia gemma versione 2.0.3 e stavo riscontrando lo stesso problema. Questo comando lo ha risolto:

gem install json --platform=ruby --verbose

Accidenti, ho cercato ovunque per risolvere questo problema e questo è stato fatto. Ben fatto, ho un voto
positivo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.