``json''本机gem需要安装的构建工具


178

我已经ruby 1.9.2p180 (2011-02-18) [i386-mingw32]在Windows 7机器上安装了。现在,我尝试使用命令“ 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功能注入到红宝石中

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 gem install json。然后收到与以前相同的错误消息。

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

我想念什么吗?

Answers:


53

我相信这些安装程序会改变路径。您是否在运行它们之后并且在最后一次尝试安装需要devkit的gem之前尝试关闭并重新打开CMD窗口?

另外,请确保为您的Ruby版本使用正确的devkit安装程序。devkit Wiki页面上的文档有一个要求说明,内容为:

对于RubyInstaller 1.8.7、1.9.2和1.9.3版本,请使用DevKit 4.5.2


3
嗨,查克·范(Chuck van),我关闭了CMD窗口,然后再次打开它并运行“ gem install json”。它也没有帮助。仍然是我在问题中提到的相同错误。我什至尝试在我们办公室中的另一台Windows 2003机器上安装ruby 1.9.2,安装devkit,然后尝试“ gem install json”。我看到同样的问题。(“错误:安装json时出错:'json'本机gem需要安装的构建工具.........”)。还有其他建议吗?您需要我提供更多信息吗?
sridhar249 2011年

正如我在问题中已经提到的那样,我正在使用“ DevKit-4.5.0-20100819-1536-sfx.exe”。我相信这是与Ruby1.9.2一起使用的正确devkit。
sridhar249 2011年

3
您是否按照此页面上的所有说明进行操作? github.com/oneclick/rubyinstaller/wiki/Development-Kit。devkit是一个自解压的归档文件,如果您所做的只是运行下载的文件,则安装时只是一部分。
Chuck van der Linden

5
是。我确实遵循了所有指示。终于我得到了它的工作。我尝试使用“ DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe”而不是“ DevKit-4.5.0-20100819-1536-sfx.exe”,它对我有用。感谢您的支持Chuck Van。
sridhar249 2011年

我按照指示进行,对我有用。C:\ DevKit> gem install json临时增强PATH以包括DevKit ...构建本机扩展。这可能需要一段时间...成功安装了json-1.8.1 1个gem已安装正在安装json-1.8.1的ri文档...正在安装json-1.8.1的RDoc文档...
ktang 2014年

352

遵循Ruby Installer开发人员工具包Wiki中的说明

  1. rubyinstaller.org下载Ruby 1.9.3
  2. rubyinstaller.org下载DevKit文件
  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 gem(然后使用它)来安装JSON(或以其他方式测试DevKit是否已成功安装):

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目录必须位于根目录中驱动器。ew,很高兴这能奏效。几个小时使我发疯。
corlettk 2012年

3
对我也有用,记得将DevKit文件夹放在ruby文件夹中。否则它将无法正常工作。
Rails初学者

1
1.9.3 p0已不再存在于下载中。也许您应该提到使用任何1.9.3(如果确实有效)。它为我工作。
2013年

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安装,该方法错误吗?
Bhabani Sankar Mishra'4

7

1)下载Ruby 1.9.3

2)cmd检查命令:ruby -v'返回结果ruby 1.9.3,然后成功完整安装ruby

3)从http://rubyinstaller.org/downloads下载DevKit文件(的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 ...


这是在Windows 7上适用于Ruby 1.9.3的唯一解决方案。
jahackbeth

ya仅适用于Windows 7
Ravi Parsania

是的哥,它也适用于Windows 7和Ruby /的devkit 2.3.x版本
Ravinder PAYAL

5

我想补充一点,您应该确保执行时生成的config.yml文件ruby dk.rb init包含要与DevKit一起使用的ruby安装路径。就我而言,我在系统上安装了Heroku Toolbelt,该系统提供了自己的红宝石安装,位于其他位置。该config.yml文件使用了特定的安装,这不是我想要的。我必须手动编辑文件以将其指向正确的文件,然后继续使用ruby dk.rb review,等等。


1

我的解决方案更简单,并在Ruby 2.0上进行了检查。它还启用下载Js​​on。(以管理员身份运行CMD.exe)

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

然后再次编写gem命令。


1

我的gem版本2.0.3和我遇到同样的问题。此命令解决了它:

gem install json --platform=ruby --verbose

天哪,我一直在到处寻找解决这个问题的方法。做得好,请进行投票:-)
马修·布洛特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.