在Windows上安装Jekyll gem原生扩展失败,有 "多个目标模式"[英] Failing to install Jekyll gem native extension on Windows with "multiple target patterns"

本文是小编为大家收集整理的关于在Windows上安装Jekyll gem原生扩展失败,有 "多个目标模式"的处理方法,想解了在Windows上安装Jekyll gem原生扩展失败,有 "多个目标模式"的问题怎么解决?在Windows上安装Jekyll gem原生扩展失败,有 "多个目标模式"问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试让 Jekyll 在我的 Windows 7 机器上启动并运行,但安装 gem 失败并出现 make 异常.我基本上遵循Madhur Arhuja 提供的说明 由于一些看似错误的链接,加上一些"修复".这是我所做的:

下载并安装了 ruby​​ 1.9.3 p448

从同一页面下载并提取 RubyDevelopmentKit.

在我安装我运行的开发工具包的目录中的 Git Bash 中

ruby dk.rb init
ruby dk.rb install
gem install jekyll

前两个步骤运行良好.我得到了一些信息输出,没有错误.但最后一步创建了这个:

$ gem install jekyll
Fetching: liquid-2.5.1.gem (100%)
Fetching: fast-stemmer-1.0.2.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

    "c:/Program Files/Ruby193/bin/ruby.exe" extconf.rb
creating Makefile

make
Makefile:222: *** multiple target patterns.  Stop.


Gem files will remain installed in c:/Program Files/Ruby193/lib/ruby/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection.
Results logged to c:/Program Files/Ruby193/lib/ruby/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out

非常简单的应用程序因"多个"而失败目标模式"从Eclipse我发现这可能与unix模拟器有关,所以我在windows shell中再次运行了最后一个命令,但结果相同.

因为我对 ruby​​、c、make 或任何相关的东西一无所知,所以我完全被困住了 :-(

推荐答案

好的,试一试.此行(及以下)的 Makefile 定义了 .m.o.

的目标
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

如果您使用 mingw/cygwin,一切看起来都不错,但是如果您将 ruby​​ 安装在带有空格的目录中,INCFLAGS 可能会在窗口机器上出现问题.INCFLAG 被定义为 INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) ,如果您在下面看到我的定义,则任何路径中都没有空格.

topdir = /C/Ruby200-x64/include/ruby-2.0.0
hdrdir = $(topdir)
arch_hdrdir = C:/Ruby200-x64/include/ruby-2.0.0/x64-mingw32

如果我将 ruby​​ 安装更改为带有空格的路径,我会在本机 Windows 命令行和 mingw 会话中收到无效选项错误.也许这会有所帮助.

本文地址:https://www.itbaoku.cn/post/786649.html