3

我试图让 Jekyll 在我的 Windows 7 机器上运行,但安装 gem 失败并出现异常。由于一些看似错误的链接,我基本上遵循了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 或任何涉及的东西一无所知,我完全被困住了:-(

4

1 回答 1

5

好的,只是一试。此行(及以下)上的 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 会话中出现无效选项错误。也许这会有所帮助。

于 2013-08-04T12:44:11.390 回答