无法安装gem - make无法识别为内部或外部命令可操作程序或批处理文件

sta*_*ck1 7 ruby

我想在Windows 7上安装带有ruby 1.9.3的rspec-rails gem.我遇到了一些错误,说有些json库无法安装.所以,我使用下面的说明来解决它.Source = 'json'本机gem需要安装构建工具

  1. 从[rubyinstaller.org]下载[Ruby 1.9.3] [2] [3]
  2. 从[rubyinstaller.org]下载DevKit文件[3]
    • 对于Ruby 1.9.3使用[DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe] [4]
  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的安装,然后使用它:

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

当我执行上面的第一步时,我收到错误 -

C:\Ruby193\DevKit>gem install json --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

        C:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile

make
'make' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

Gem文件将保留在C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1中进行检查.结果记录到C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

我正在尝试解决上述错误 -

'make' is not recognized as an internal or external command, operable program or batch file. 使用make不被识别为内部或外部命令 - Qt SDK - Windows

如果有人已经知道如何解决这个问题,那么请帮助我.我一直在努力安装宝石,我失败了这么多天.我想知道红宝石是否如此困难.

DOSKEY方法失败!!!

我这样做 - 安装Mingw并安装所有开发人员工具和基础资料.然后将C:\ MinGW\bin添加到环境变量中以查找mingw32-make.exe.然后,我运行了DOSKEY make=mingw32-make后面的ruby命令.我得到了同样的错误.我猜测ruby代码是从隐藏的cmd窗口产生的,这就是为什么命令不起作用.DOSKEY仅在运行它的cmd窗口中有效.

下一步 - 不太好,但是,我将mingw32-make.exe改为make.exe并查看.

再次因新错误而失败 -

暂时增强PATH以包括DevKit ...构建本机扩展.这可能需要一段时间...错误:安装json时出错:错误:无法构建gem原生扩展.

    C:/Ruby193/bin/ruby.exe extconf.rb creating Makefile
Run Code Online (Sandbox Code Playgroud)

make generate generator-i386-mingw32.def编译generator.c在generator.c中包含的文件中:1:0:../ fbuffer/fbuffer.h:5:18:致命错误:ruby.h:没有这样的文件或目录#include"ruby.h"^编译终止.Makefile:204:目标'generator.o'的配方失败make:***[generator.o]错误1

Gem文件将保留在C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1中进行检查.结果记录到C:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out

现在我该怎么做 ?

Kal*_*yan 14

大多数Ruby宝石是为Unix开发的,需要一些额外的工具才能在Windows上运行.

为了在Windows中安装这些gem,您需要从下载链接获取Ruby DEVELOPMENT KIT(根据您的Ruby版本选择正确的安装程序).

将安装解压缩到某个永久位置.在我的系统中,它是C:\ RubyDevKit.

打开命令提示符并cd到提取的位置并执行以下命令

cd C:\RubyDevKit
ruby dk.rb init
ruby dk.rb install
devkitvars.bat
Run Code Online (Sandbox Code Playgroud)

最后的命令是我错过了最初并把某个弄清楚.现在尝试安装你的宝石; 它对我有用.


附加信息

Ruby Development Kit有一个名为MinGW的组件,用于在Windows上运行Unix命令.

在我的例子中,下面的错误是没有添加到系统路径变量的Ruby Development Kit

make'make'不会被识别为内部或外部命令,可操作程序或批处理文件.

该命令devkitvars.bat将Development Kit添加到系统路径.


Sai*_*fis -6

我尝试在 Windows 系统上安装 ruby​​ on Rails,尽管有一键安装程序可以安装 ruby​​ 本身和 Rails,但许多 gem 依赖于基于 posix 的操作系统进行编译,因此几乎不可能进行实际工作在窗户上。

我的建议是给自己准备一个 Linux 系统,也许是系统上的 unbuntu 和双引导,或者获得一个虚拟 PC 软件,比如这个或者任何其他选项,然后尝试从那里安装 ruby​​。