Le gem natif 'json' nécessite des outils de construction installés


178

J'ai ruby 1.9.2p180 (2011-02-18) [i386-mingw32]installé sur ma machine Windows 7. Maintenant, j'ai essayé d'installer le gem JSON en utilisant la commande "gem install json" et j'ai obtenu l'erreur suivante.

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

Ensuite, je suis allé et j'ai téléchargé DevKit-4.5.0-20100819-1536-sfx.exe. Je l'ai extrait dans C: \ DevKit. Et puis à partir de l'invite de commande, j'ai exécuté les commandes suivantes.

ruby dk.rb init

Une fois la commande ci-dessus exécutée, j'ai vérifié que config.yaml est généré et que le chemin de mon dossier ruby ​​est ajouté automatiquement. Ceci est la ligne au bas du fichier config.yaml "- C: / Ruby192"

ruby dk.rb review

J'ai reçu le message que la fonctionnalité devkit sera injectée dans les rubis lorsque vous exécutez "ruby dk.rb install"

ruby dk.rb install

J'ai reçu le message suivant.

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

Maintenant, j'ai essayé d'exécuter à nouveau le gem JSON en utilisant la commande gem install json. Ensuite, j'ai le même message d'erreur qu'avant.

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

Est-ce que je manque quelque chose?

Réponses:


53

Je crois que ces installateurs modifient le chemin. Avez-vous essayé de fermer et de rouvrir la fenêtre CMD après les avoir exécutés et avant la dernière tentative d'installation du gem qui veut que devkit soit présent?

Assurez-vous également que vous utilisez le bon programme d'installation de devkit pour votre version de Ruby. La documentation sur la page wiki de devkit a une note d'exigences disant:

Pour les versions de RubyInstaller 1.8.7, 1.9.2 et 1.9.3, utilisez DevKit 4.5.2


3
Salut Chuck van, j'ai fermé la fenêtre CMD et l'ai rouvert et j'ai lancé le "gem install json". Cela n'a pas aidé non plus. Toujours la même erreur que j'ai mentionnée dans la question. J'ai même essayé d'installer ruby ​​1.9.2 sur une autre machine Windows 2003 que nous avons dans notre bureau, installé devkit et ensuite essayé "gem install json". Je vois le même problème. ("ERREUR: Erreur lors de l'installation de json: le gem natif 'json' nécessite des outils de construction installés ........."). D'autres suggestions? Avez-vous besoin de plus d'informations de ma part?
sridhar249

Comme je l'ai déjà mentionné dans la question, j'utilise "DevKit-4.5.0-20100819-1536-sfx.exe". Je pense que c'est le bon devkit à utiliser avec Ruby1.9.2.
sridhar249

3
avez-vous suivi toutes les instructions de cette page? github.com/oneclick/rubyinstaller/wiki/Development-Kit . le devkit est une archive auto-extractible, si tout ce que vous avez fait était d'exécuter le fichier que vous avez téléchargé, vous n'êtes qu'à mi-chemin en l'installant.
Chuck van der Linden

5
Oui. J'ai suivi toutes les instructions. Enfin je l'ai fait fonctionner. J'ai essayé d'utiliser "DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe" au lieu de "DevKit-4.5.0-20100819-1536-sfx.exe" et cela a fonctionné pour moi. Merci pour tout votre soutien Chuck Van.
sridhar249

J'ai suivi les instructions, cela a fonctionné pour moi. C: \ DevKit> gem install json Amélioration temporaire de PATH pour inclure DevKit ... Construire des extensions natives. Cela pourrait prendre un certain temps ... Installation réussie de json-1.8.1 1 gem installé Installation de la documentation ri pour json-1.8.1 ... Installation de la documentation RDoc pour json-1.8.1 ...
ktang

352

Suivez les instructions du wiki du kit de développement du programme d'installation Ruby :

  1. Téléchargez Ruby 1.9.3 depuis rubyinstaller.org
  2. Téléchargez le fichier DevKit depuis rubyinstaller.org
  3. Extrayez DevKit vers le chemin C: \ Ruby193 \ DevKit
  4. Courir cd C:\Ruby193\DevKit
  5. Courir ruby dk.rb init
  6. Courir ruby dk.rb review
  7. Courir ruby dk.rb install

Pour revenir au problème en question, vous devriez être en mesure d'installer JSON (ou de tester autrement que votre DevKit a été installé avec succès) en exécutant les commandes suivantes qui effectueront une installation du gem JSON, puis l'utiliser:

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

4
Je voudrais ajouter que vous devez vous assurer que l'invite que vous utilisez dispose des droits d'administrateur, sinon vous obtiendrez des erreurs lors de l'installation (au moins
win8

4
Cela a fonctionné pour moi avec // Ruby 1.9.3-p194 // ... le "gotcha" semble être que le DevKit doit être un sous-répertoire de votre répertoire Ruby ... ou peut-être que votre répertoire Ruby doit être à la racine du lecteur. Ouf, content que ça marche. Cela me rend fou depuis des heures.
corlettk

3
A également travaillé pour moi, n'oubliez pas de mettre le dossier DevKit dans le dossier ruby. Sinon, cela ne fonctionnera pas.
Rails débutant

1
1.9.3 p0 n'est plus là dans les téléchargements. Vous devriez peut-être mentionner que vous utilisez n'importe quel 1.9.3 (si cela fonctionne, c'est-à-dire). Cela a fonctionné pour moi.
Jus12

4
Fonctionne aussi pour Ruby 2.0.
CJBrew

10

J'ai constaté que l'erreur est parfois causée par une bibliothèque manquante.

donc si vous installez d'abord RDOC en exécutant

gem installer rdoc

puis installez les rails avec:

gem installer des rails

puis revenez en arrière et installez les devtools comme mentionné précédemment avec:

1) Extraire DevKit vers le chemin C:\Ruby193\DevKit
2) cd C:\Ruby192\DevKit
3) ruby dk.rb init
4) ruby dk.rb review
5)ruby dk.rb install

puis essayez d'installer json

qui aboutit à ce que vous puissiez enfin courir

rails new project_name - sans fautes.

bonne chance


8

Suivez les étapes.

  1. Extraire DevKitvers le cheminC:\Ruby193\DevKit
  2. cd C:\Ruby192\DevKit
  3. ruby dk.rb init
  4. ruby dk.rb review
  5. ruby dk.rb install

Puis j'ai écrit la commande

gem install rails -r -y

J'ai installé avec gem install devkit, cette méthode est-elle incorrecte?
Bhabani Sankar Mishra

7

1) Télécharger Ruby 1.9.3

2) commande de vérification cmd: ruby -v'retourne le résultat ruby ​​1.9.3 puis succès de l'installation complète ruby

3) Téléchargez le fichier DevKit depuis http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe)

4) Extrayez DevKit vers le chemin 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'peu de temps d'installation du processus complet'

10) cmd: rails -v'retourne les rails de résultat 3.1.1 puis son succès entièrement installé'

profitez de Ruby on Rails ...


C'est la seule solution qui a fonctionné pour Ruby 1.9.3 sur Windows 7.
jahackbeth

ya son seulement pour Windows 7
Ravi Parsania

Oui mon frère, cela fonctionne également sous Windows 7 et Ruby / DevKit 2.3.x
Ravinder Payal

5

Je voudrais ajouter que vous devez vous assurer que le config.ymlfichier généré ruby dk.rb initcontient le chemin d'accès à l'installation ruby ​​avec laquelle vous souhaitez utiliser DevKit. Dans mon cas, j'avais installé la ceinture à outils Heroku sur mon système, qui fournissait sa propre installation ruby, située à un endroit différent. Le config.ymlfichier utilisait cette installation particulière, et ce n'est pas ce que je voulais. J'ai dû modifier manuellement le fichier pour le pointer vers le bon, puis continuer avec ruby dk.rb review, etc.


1

Ma solution est plus simple et vérifiée sur Ruby 2.0. Il permet également de télécharger Json. (exécutez CMD.exe en tant qu'administrateur)

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

Et puis écrivez à nouveau la commande gem.


1

Ma version de gemme 2.0.3 et moi recevions le même problème. Cette commande l'a résolu:

gem install json --platform=ruby --verbose

Gosh, j'ai cherché partout pour résoudre ce problème et cela l'a fait. Bravo, votez :-)
Matthew Blott
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.