Собственный камень json требует установленных инструментов сборки

178

Я ruby 1.9.2p180 (2011-02-18) [i386-mingw32]установил на моей машине Windows 7. Теперь я попытался установить гем JSON с помощью команды "gem install json" и получил следующую ошибку.

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

Затем я пошел и скачал DevKit-4.5.0-20100819-1536-sfx.exe. Извлеките его в C: \ DevKit. И затем из командной строки я выполнил следующие команды.

ruby dk.rb init

После выполнения вышеуказанной команды я убедился, что config.yaml сгенерирован и в него автоматически добавлен путь к моей папке ruby. Это строка внизу файла config.yaml "- C: / Ruby192"

ruby dk.rb review

Я получил сообщение, что функциональность devkit будет добавлена ​​в рубины, когда вы запустите "ruby dk.rb install"

ruby dk.rb install

Я получил следующее сообщение.

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

Теперь я попытался снова выполнить гем JSON с помощью команды gem install json. Затем получил то же сообщение об ошибке, что и раньше.

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

Я что-то упускаю?

sridhar249
источник

Ответы:

53

Я считаю, что эти установщики вносят изменения в путь. Вы пытались закрыть и снова открыть окно CMD после их запуска и перед последней попыткой установить гем, который требует наличия devkit?

Также убедитесь, что вы используете правильный установщик devkit для своей версии Ruby. Документация на вики-странице devkit содержит примечание с требованиями:

Для версий RubyInstaller 1.8.7, 1.9.2 и 1.9.3 используйте DevKit 4.5.2

Чак ван дер Линден
источник
3
Привет, Чак Ван, я закрыл окно CMD, снова открыл его и запустил "gem install json". Это тоже не помогло. Все та же ошибка, о которой я упоминал в вопросе. Я даже попытался установить ruby ​​1.9.2 на другой компьютер с Windows 2003, который есть в нашем офисе, установил devkit, а затем попытался «gem install json». Я вижу ту же проблему. («ОШИБКА: Ошибка при установке json: для встроенного гема json требуются установленные инструменты сборки .........»). Любые другие предложения? Вам нужно больше информации от меня?
sridhar249
Как я уже упоминал в вопросе, я использую "DevKit-4.5.0-20100819-1536-sfx.exe". Я считаю, что это правильный devkit для использования с Ruby1.9.2.
sridhar249
3
Вы следовали всем инструкциям на этой странице? github.com/oneclick/rubyinstaller/wiki/Development-Kit . devkit - это самораспаковывающийся архив, если все, что вы сделали, это запустили загруженный файл, то вы только установили его.
Чак ван дер Линден
5
да. Я следовал всем инструкциям. Наконец-то у меня все заработало. Я попытался использовать "DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe" вместо "DevKit-4.5.0-20100819-1536-sfx.exe", и это сработало для меня. Спасибо за вашу поддержку Чак Ван.
sridhar249
Я следовал инструкциям, у меня это сработало. C: \ DevKit> gem install json Временное расширение PATH для включения DevKit ... Создание собственных расширений. Это может занять некоторое время ... Успешно установлен json-1.8.1 1 gem установлен Установка документации ri для json-1.8.1 ... Установка документации RDoc для json-1.8.1 ...
ktang
352

Следуйте инструкциям из Вики-комплекта разработчика Ruby :

  1. Загрузите Ruby 1.9.3 с rubyinstaller.org
  2. Загрузите файл DevKit с сайта rubyinstaller.org
  3. Распакуйте DevKit в путь C: \ Ruby193 \ DevKit
  4. Бегать cd C:\Ruby193\DevKit
  5. Бегать ruby dk.rb init
  6. Бегать ruby dk.rb review
  7. Бегать ruby dk.rb install

Чтобы вернуться к рассматриваемой проблеме, вы должны иметь возможность установить JSON (или иным образом проверить, что ваш DevKit успешно установлен), выполнив следующие команды, которые выполнят установку гема JSON, а затем используют его:

gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
Массимо Фаззолари
источник
4
Хотелось бы добавить, что вам нужно убедиться, что у любого приглашения, которое вы используете, есть права администратора, иначе вы получите ошибки во время установки (по крайней мере,
win8
4
Работал для меня с // Ruby 1.9.3-p194 // ... «получается», похоже, что DevKit должен быть подкаталогом вашего каталога Ruby ... или, может быть, ваш каталог Ruby должен находиться в корневом каталоге диска. Фу, рад, что это работает. Это сводит меня с ума в течение нескольких часов.
Corlettk
3
Также работал для меня, не забудьте положить папку DevKit в папку ruby. Иначе это не сработает.
Начинающий рельсы
1
1.9.3 p0 больше не существует в загрузках. Может быть, вы должны упомянуть, что используйте любой 1.9.3 (если он работает, то есть). Это сработало для меня.
Jus12
4
Работает на Ruby 2.0 тоже.
CJBrew
10

Я обнаружил, что ошибка иногда вызвана отсутствующей библиотекой.

так что если вы сначала установите RDOC, запустив

gem install rdoc

Затем установите направляющие с помощью:

драгоценный камень установить рельсы

затем вернитесь и установите devtools, как указано выше, с помощью:

1) Извлечь DevKit в путь C:\Ruby193\DevKit
2) cd C:\Ruby192\DevKit
3) ruby dk.rb init
4) ruby dk.rb review
5)ruby dk.rb install

затем попробуйте установить JSON

который завершается с вами, наконец, в состоянии бежать

rails new project_name - без ошибок.

удачи

Финес Дашевский
источник
8

Последовал за шагами.

  1. Извлечь DevKitна путьC:\Ruby193\DevKit
  2. cd C:\Ruby192\DevKit
  3. ruby dk.rb init
  4. ruby dk.rb review
  5. ruby dk.rb install

Затем я написал команду

gem install rails -r -y
Эвангелос Алимпертис
источник
Я установил с помощью gem install devkit, это неправильный метод?
Бхабани Санкар Мишра
7

1) Скачать Ruby 1.9.3

2) команда проверки cmd: ruby -v'вернуть результат ruby ​​1.9.3, затем успешно установить полную ruby

3) Загрузите файл DevKit с http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe)

4) Извлечь DevKit в путь 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«немного времени для установки полного процесса»

10) cmd: rails -v«вернуть результат rails 3.1.1, затем установить его успех полностью»

наслаждайся Ruby on Rails ...

Рави Парсания
источник
Это единственное решение, которое работало для Ruby 1.9.3 в Windows 7.
jahackbeth
Я только для Windows 7
Рави Парсания
Да, брат, он также работает на Windows 7 и Ruby / DevKit 2.3.x
Payal
5

Я хотел бы добавить, что вы должны убедиться, что сгенерированный config.ymlфайл при выполнении ruby dk.rb initсодержит путь к установке ruby, с которой вы хотите использовать DevKit. В моем случае в моей системе был установлен Heroku Toolbelt, который обеспечивал собственную установку ruby, расположенную в другом месте. config.ymlФайл , используемый этой конкретной установки, и это не то , что я хотел. Мне пришлось вручную отредактировать файл, чтобы он указывал на правильный файл, затем продолжить ruby dk.rb reviewи т. Д.

марко-fiset
источник
1

Мое решение проще и проверено на Ruby 2.0. Это также позволяет скачать Json. (запустите CMD.exe от имени администратора)

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

А затем напишите снова команду gem.

Artur_PL
источник
1

Мой драгоценный камень версии 2.0.3, и я получил ту же проблему. Эта команда разрешила это:

gem install json --platform=ruby --verbose
Читреш Гоял
источник
Черт возьми, я искал повсюду, чтобы исправить это, и это было сделано. Молодцы, голосование идет вверх :-)
Мэтью Блотт,