ruby - 'json' 原生 gem 需要安装构建工具

我的 Windows 7 机器上安装了 ruby 1.9.2p180 (2011-02-18) [i386-mingw32]。现在我尝试使用命令“gem install json”安装 JSON gem,并收到以下错误。

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

我收到消息说,当您运行“ruby dk.rb install”时,devkit 功能将被注入(inject)到 rubies 中

ruby dk.rb install

我收到以下消息。

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

现在我尝试使用命令 gem install json 再次执行 JSON gem。然后得到了和以前一样的错误信息。

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

我错过了什么吗?

最佳答案

关注Instructions from the Ruby Installer Developer Kit Wiki :

  1. 下载Ruby 1.9.3来自 rubyinstaller.org
  2. 从 rubyinstaller.org 下载 DevKit 文件
    • 对于 Ruby 1.9.3,请使用 DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe
  3. 将 DevKit 解压到路径 C:\Ruby193\DevKit
  4. 运行 cd C:\Ruby193\DevKit
  5. 运行 ruby dk.rb init
  6. 运行 ruby dk.rb 审查
  7. 运行ruby dk.rb install

回到手头的问题,您应该能够通过运行以下命令来安装 JSON(或以其他方式测试您的 DevKit 是否已成功安装),这将执行 JSON gem 的安装然后使用它:

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

关于ruby - 'json' 原生 gem 需要安装构建工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8100891/

相关文章:

python - 将 JSON 字符串转换为字典未列出

json - HTTP 中的 "406-Not Acceptable Response"是什么?

python - JSON解码错误: Expecting value: line 1 column

json - 使用jq根据对象中变量的值选择对象

javascript - 将带有数字键的 JavaScript 对象转换为数组

python - 让 JSON 对象接受字节或让 urlopen 输出字符串

json - 如何使用 JSON 对象初始化 TypeScript 对象?

python - NumPy 数组不是 JSON 可序列化的

jquery - 如何使用 jQuery/JavaScript 解析 JSON 数据?

jquery - 如何在没有表单的情况下将字符串数组发布到 ASP.NET MVC Controll