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

我想在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" 

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

 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. 

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

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

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 

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

现在我该怎么做 ?

我试图在Windows系统上的rails上设置ruby,虽然有一个安装ruby本身和rails的点击安装程序,许多gem依赖于基于posix的操作系统进行编译,因此几乎无法做实际的工作在窗户上。

我的建议是让自己成为一个Linux系统,可能是unbuntu在你的系统上和双启动,或者获得一个虚拟的PC软件,比如这个或任何其他选项,并尝试从那里安装ruby。

大多数Rubygem都是为Unix开发的,需要一些额外的工具才能在Windows上运行。

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

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

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

 cd C:\RubyDevKit ruby dk.rb init ruby dk.rb install devkitvars.bat 

最后一个命令是我最初错过的,花了一些时间才弄明白。 现在尝试安装你的gem; 它对我有用。


附加信息

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

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

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

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

尝试安装gnuwin-32 make然后将环境变量PATH更改为指向C:\ Program Files(x86)\ GnuWin32 \ bin

Ruby安装向导会询问“将Ruby可执行文件添加到PATH”,对我来说,简单的解决方案是卸载ruby并再次安装,这次选中“将Ruby可执行文件添加到PATH”复选框

在此处输入图像描述

使用最新版本的Ruby 2.4.2,开发套件包含在安装中,因此您无需遵循单独的安装说明。 只需卸载现有的ruby,然后在https://rubyinstaller.org/downloads/重新安装新的ruby。

完成后,它将打开一个命令提示符,您需要在其上选择选项3以包含开发工具包。 但是,在撰写本文时,它是如此错误,您可能会或可能不会安装问题。