我要在这里发疯,所以我只想问:
你到底如何在Windows上安装Ruby Gem Jekyll。
Jekyll依赖于fast-stemmer-1.0.0并且必须构建为本机扩展
我在RubyDevKit上找到了这个方便的指南,可以在Windows上安装一个“理智”的环境,但它运行正常,但是使用nmake构建二进制文件时,快速干扰器仍然一直在使用,并返回以下错误:< / p>
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>gem install jekyll
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:/Ruby/bin/ruby.exe extconf.rb
creating Makefile
nmake
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
cl -nologo -I. -IC:/Ruby/lib/ruby/1.8/i386-mswin32 -IC:/Ruby/lib/ruby/1.
8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tcporter.c
cl : Command line warning D9035 : option 'Og-' has been deprecated and will be r
emoved in a future release
cl : Command line warning D9002 : ignoring unknown option '-G6'
porter.c
porter.c(31) : fatal error C1083: Cannot open include file: 'stdlib.h': No such
file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/fast-stemmer-1
.0.0 for inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0/ext/gem_make
.out
我在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin中使用Visual Studio 2010附带的nmake,正如其他文章中所建议的那样。但它仍然无效。
我已经尝试从DevKit附带的MSYS shell运行gem安装,所以我在那时确实有Unix make,但我不知道如何指示Ruby使用make而不是nmake(并且阅读mkmf.rb也没有启发我)。它一直在使用nmake,并且因上述错误消息而失败了
对此的任何帮助将不胜感激!
更新 我终于意识到我没有通过RubyInstaller.org安装Ruby。我重新安装使用安装程序,现在使用DevKit构建jekyll工作正常。
感谢大家指出这一点!
答案 0 :(得分:5)
您所遵循的说明存在混淆。创建RubyInstaller DevKit中的指令是为了支持使用RubyInstaller编译版本的Ruby安装扩展。
很明显,从您当前的目录(visual studio)和您使用基于mswin32
的Ruby的gem安装的输出,它不适用于RubyInstaller或我们记录的DevKit。
请从RubyInstaller网站安装Ruby和DevKit,并按照中的说明操作,避免与Visual Studio混合
答案 1 :(得分:1)
mswin32
来自哪里?您是否将DevKit与MRI的mswin32端口一起使用? DevKit仅适用于MRI和YARV的当前MinGW端口,它不适用于mswin32端口(BTW,已经过时了很长一段时间)。
如果你使用mswin32端口,你或多或少都是你自己的。特别是,您必须使用Microsoft Visual C ++ 6.0,因为这是编译mswin32端口的内容,并且不保证Visual C ++的更高版本与二进制兼容。 Visual C ++ 10.0(您似乎正在使用它)不起作用。尝试通过明确调用gem install --platform=mswin32 fast-stemmer
甚至gem install --platform=x86-mswin32-60 fast-stemmer
来强制执行该平台。这样,如果维护者提供了预编译版本,则无需自行编译。
如果你不使用mswin32端口而不是MinGW端口,请尝试显式调用gem install --platform=ruby fast-stemmer
。如果这没有帮助,请尝试gem install --platform=x86-mingw32 fast-stemmer