【问题标题】:Cannot install JSON gem in rails using windows无法使用 Windows 在 Rails 中安装 JSON gem
【发布时间】:2011-10-15 21:28:43
【问题描述】:

我正在进行捆绑安装,所有的 gem 都可以正常工作,除了 JSON,当它到达 JSON gem 时,我收到了这个错误。

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.

知道什么可能导致此错误吗?

【问题讨论】:

    标签: ruby-on-rails ruby gem


    【解决方案1】:

    您正在使用 Windows,因此 RubyInstaller 开发工具包可以帮助您: http://rubyinstaller.org/add-ons/devkit/

    devkit 安装了一个 C 编译器(和其他一些东西)来编译 C 编写的部分。

    安装它并再次尝试安装 gem - 可能使用选项 --platform=ruby

    详情请见https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

    【讨论】:

    • 这是正确的答案,但请务必执行 gem update --system 否则您仍然会遇到 ruby​​installer 问题
    • 甚至还有用于 devkit 的 Chocolatey NuGet 安装程序! chocolatey.org/packages/ruby.devkit
    【解决方案2】:

    这是因为这个 gem 使用了一段用 C 编写的代码。为了正常工作,您需要在机器上安装 c 编译器。作为一种方式,尝试使用用纯 Ruby 编写的json_pure

    【讨论】:

      【解决方案3】:

      我不是 ROR 方面的专家,但我在安装 Redmine 时遇到的 JSON 安装问题已通过执行以下操作得到解决:

      • 在 D:\LANGS\MinGW\bin 创建一个 make.bat
      • 将此目录保留在 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\ 下。请在您的特定安装中进行相应的更改。

      【讨论】:

        【解决方案4】:

        是的,安装开发工具包。此外,您将需要运行一些命令行来安装它(不仅仅是下载和运行)。

        下载它,运行它以将其提取到某个地方(永久)。然后 cd 到它,运行 ruby​​ dk.rb init 和 ruby​​ dk.rb install 以将其绑定到路径中的 ruby​​ 安装。

        这里有一个指南:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-20
          • 1970-01-01
          • 1970-01-01
          • 2018-12-12
          • 2011-07-10
          • 2023-03-11
          • 2019-09-09
          相关资源
          最近更新 更多