Klejnot natywny „json” wymaga zainstalowanych narzędzi do kompilacji


178

Mam ruby 1.9.2p180 (2011-02-18) [i386-mingw32]zainstalowany na moim Windows 7 maszynowych. Teraz próbowałem zainstalować klejnot JSON za pomocą polecenia „gem install json” i otrzymałem następujący błąd.

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

Potem poszedłem i pobrałem DevKit-4.5.0-20100819-1536-sfx.exe. Wyodrębniono go do C: \ DevKit. A następnie z wiersza poleceń wykonałem następujące polecenia.

ruby dk.rb init

Po wykonaniu powyższego polecenia zweryfikowałem, że config.yaml jest generowany i że ścieżka do mojego folderu ruby ​​jest dodawana automatycznie. Jest to wiersz u dołu pliku config.yaml „- C: / Ruby192”

ruby dk.rb review

Dostałem wiadomość, że funkcjonalność devkit zostanie wstrzyknięta w rubiny po uruchomieniu „instalacji ruby ​​dk.rb”

ruby dk.rb install

Dostałem następujący komunikat.

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

Teraz spróbowałem ponownie wykonać klejnot JSON za pomocą polecenia gem install json. Następnie otrzymałem taki sam komunikat o błędzie jak poprzednio.

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

Czy coś brakuje?

Odpowiedzi:


53

Wierzę, że ci instalatorzy wprowadzają zmiany na ścieżce. Czy próbowałeś zamknąć i ponownie otworzyć okno CMD po ich uruchomieniu i przed ostatnią próbą zainstalowania klejnotu, który chce mieć program Devkit?

Upewnij się także, że używasz odpowiedniego instalatora devkit dla swojej wersji Ruby. Dokumentacja na stronie wiki devkit zawiera notatkę o wymaganiach:

W wersjach 1.8.7, 1.9.2 i 1.9.3 RubyInstaller użyj DevKit 4.5.2


3
Cześć Chuck van, zamknąłem okno CMD, otworzyłem je ponownie i uruchomiłem „gem install json”. To też nie pomogło. Nadal ten sam błąd, o którym wspomniałem w pytaniu. Próbowałem nawet zainstalować Ruby 1.9.2 na innym komputerze z systemem Windows 2003, który mamy w naszym biurze, zainstalowałem devkit, a potem wypróbowałem „gem install json”. Widzę ten sam problem. („BŁĄD: Błąd instalacji json: natywny klejnot„ json ”wymaga zainstalowanych narzędzi do kompilacji .......”). Jakieś inne sugestie? Potrzebujesz ode mnie więcej informacji?
sridhar249

Jak już wspomniałem w pytaniu, używam „DevKit-4.5.0-20100819-1536-sfx.exe”. Uważam, że jest to poprawny zestaw devkit do użycia z Ruby1.9.2.
sridhar249

3
czy postępowałeś zgodnie ze wszystkimi instrukcjami na tej stronie? github.com/oneclick/rubyinstaller/wiki/Development-Kit . devkit to samorozpakowujące się archiwum, jeśli wszystko, co zrobiłeś, to uruchomiłeś pobrany plik, tylko częściowo go instalujesz.
Chuck van der Linden

5
tak. Postępowałem zgodnie ze wszystkimi instrukcjami. Nareszcie mam to działa. Próbowałem użyć „DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe” zamiast „DevKit-4.5.0-20100819-1536-sfx.exe” i działało to dla mnie. Dziękujemy za wsparcie Chuck Van.
sridhar249,

Postępowałem zgodnie z instrukcjami, działało to dla mnie. C: \ DevKit> gem install json Tymczasowo ulepszając PATH, aby uwzględnić DevKit ... Budowanie rozszerzeń natywnych. Może to chwilę potrwać ... Instalacja json-1.8.1 1 gem został zainstalowany Instalacja dokumentacji ri dla json-1.8.1 ... Instalacja dokumentacji RDoc dla json-1.8.1 ...
ktang

352

Postępuj zgodnie z instrukcjami z Wiki Ruby Installer Developer Kit Wiki :

  1. Pobierz Ruby 1.9.3 z rubyinstaller.org
  2. Pobierz plik DevKit z rubyinstaller.org
  3. Wyodrębnij DevKit do ścieżki C: \ Ruby193 \ DevKit
  4. Biegać cd C:\Ruby193\DevKit
  5. Biegać ruby dk.rb init
  6. Biegać ruby dk.rb review
  7. Biegać ruby dk.rb install

Aby powrócić do aktualnego problemu, powinieneś być w stanie zainstalować JSON (lub w inny sposób przetestować, czy Twój DevKit został pomyślnie zainstalowany), uruchamiając następujące polecenia, które wykonają instalację klejnotu JSON, a następnie go użyje:

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

4
Chciałbym dodać, że musisz upewnić się, że cokolwiek, z którego korzystasz, ma uprawnienia administratora, w przeciwnym razie podczas instalacji pojawią się błędy (przynajmniej
Win8

4
Pracowałem dla mnie z // Ruby 1.9.3-p194 // ... wygląda na to, że DevKit musi być podkatalogiem katalogu Ruby ... a może to dlatego, że katalog Ruby musi znajdować się w katalogu głównym napędu. Uff, cieszę się, że to działa. Doprowadza mnie do szaleństwa od wielu godzin.
corlettk

3
Pracowało również dla mnie, pamiętaj, aby umieścić folder DevKit w folderze ruby. W przeciwnym razie to nie zadziała.
Początkujący Rails

1
1.9.3 p0 nie występuje już w plikach do pobrania. Może powinieneś wspomnieć, że używaj dowolnego 1.9.3 (jeśli to działa, to znaczy). To zadziałało dla mnie.
Jus12

4
Działa również dla Ruby 2.0.
CJBrew

10

Odkryłem, że błąd jest czasami powodowany brakującą biblioteką.

więc jeśli najpierw zainstalujesz RDOC, uruchamiając

gem zainstaluj rdoc

następnie zainstaluj szyny za pomocą:

klejnot instalować szyny

następnie wróć i zainstaluj devtools, jak wspomniano wcześniej, za pomocą:

1) Wyodrębnij DevKit do ścieżki C:\Ruby193\DevKit
2) cd C:\Ruby192\DevKit
3) ruby dk.rb init
4) ruby dk.rb review
5)ruby dk.rb install

następnie spróbuj zainstalować json

które kończą się tym, że w końcu możesz biec

rails new project_name - bez błędów.

powodzenia


8

Postępował zgodnie z instrukcjami.

  1. Wyodrębnij DevKitdo ścieżkiC:\Ruby193\DevKit
  2. cd C:\Ruby192\DevKit
  3. ruby dk.rb init
  4. ruby dk.rb review
  5. ruby dk.rb install

Potem napisałem polecenie

gem install rails -r -y

Zainstalowałem przy użyciu gem install devkit, czy ta metoda jest nieprawidłowa?
Bhabani Sankar Mishra

7

1) Pobierz Ruby 1.9.3

2) polecenie cmd check: ruby -v„zwróć wynik ruby ​​1.9.3, a następnie zakończ pełną instalację ruby

3) Pobierz plik DevKit ze strony http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe)

4) Wyodrębnij DevKit do ścieżki 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„kilka razy instalacja pełnego procesu”

10) cmd: rails -v„zwróć szyny wyników 3.1.1, a następnie jej pełna instalacja”

ciesz się Ruby on Rails ...


To jedyne rozwiązanie, które działało w Ruby 1.9.3 w systemie Windows 7.
jahackbeth,

ya jest tylko dla Windows 7
Ravi Parsania

Tak, bracie, działa również na Windows 7 i Ruby / DevKit 2.3.x
Ravinder Payal

5

Chciałbym dodać, że powinieneś upewnić się, że generowany config.ymlplik podczas wykonywania ruby dk.rb initzawiera ścieżkę do instalacji Ruby, z którą chcesz korzystać DevKit. W moim przypadku miałem zainstalowany Heroku Toolbelt w moim systemie, który zapewnił własną instalację ruby, umieszczoną w innym miejscu. config.ymlPlików używany tej konkretnej instalacji, a nie to, co chciałem. Musiałem ręcznie edytować plik, aby wskazał właściwy, a następnie kontynuować ruby dk.rb reviewitd.


1

Moje rozwiązanie jest prostsze i sprawdzone w Ruby 2.0. Umożliwia także pobieranie Json. (uruchom CMD.exe jako administrator)

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

A potem napisz ponownie polecenie gem.


1

Mój klejnot w wersji 2.0.3 dostał ten sam problem. To polecenie rozwiązało to:

gem install json --platform=ruby --verbose

Rany, szukałem wszędzie, aby to naprawić i udało się. Dobra robota,
oddaj
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.