Невозможно установить гем JSON в рельсы с помощью Windows - PullRequest
12 голосов
/ 16 октября 2011

Я выполняю установку комплекта, и все гемы работают нормально, кроме JSON, когда он попадает в гем JSON, я получаю эту ошибку.

Installing json (1.6.1) with native extensions c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:55
    2:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::E
    xtensionBuildError)

            c:/Ruby192/bin/ruby.exe extconf.rb
    checking for re.h... *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.

Есть идеи о том, что может быть причиной этой ошибки?

Ответы [ 4 ]

16 голосов
/ 16 октября 2011

Вы работаете с Windows, поэтому RubyInstaller Development Kit может помочь вам: http://rubyinstaller.org/add-ons/devkit/

Devkit устанавливает C-компилятор (и некоторые другие компоненты) для компиляции написанных на C частей.

Установите его и попробуйте снова установить гем - возможно, с опцией --platform=ruby.

Подробности можно найти на https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

4 голосов
/ 16 октября 2011

Это потому, что этот драгоценный камень использует кусок кода, написанный на C. Для правильной работы вам необходим c-компилятор, установленный на вашем компьютере.Как способ, попробуйте использовать json_pure , написанный на чистом Ruby

0 голосов
/ 19 июня 2015

Да, установите комплект для разработки.Кроме того, вам нужно будет запустить несколько командных строк, чтобы установить его (а не просто загрузить и запустить).

Загрузите его, запустите, чтобы извлечь его где-нибудь (навсегда).Затем перейдите к нему, запустите ruby ​​dk.rb init и ruby ​​dk.rb install, чтобы связать его с установками ruby ​​на вашем пути.

Руководство по этому вопросу приведено здесь:

https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

0 голосов
/ 19 июня 2013

Я не специалист по ROR, но проблема установки JSON, возникшая при установке Redmine, была решена с помощью следующих действий:

  • Создайте make.bat в D: \ LANGS \MinGW \ bin
  • Сохраните этот каталог в PATH
  • Отредактируйте вышеупомянутый make.bat и добавьте строку, D: \ LANGS \ MinGW \ msys \ 1.0 \ bin \ make.exe

Я понял, что mingw32-make.exe никогда не работал, но работал «D: \ LANGS \ MinGW \ msys \ 1.0 \ bin \ make.exe».

Примечание: мойУстановка MinGW находится под D: \ LANGS \.Пожалуйста, внесите соответствующие изменения в вашу конкретную установку.

...