代码之家  ›  专栏  ›  技术社区  ›  Tigraine

在Windows for Jekyll上安装本机Ruby扩展

  •  11
  • Tigraine  · 技术社区  · 15 年前

    我要发疯了,所以我只想问:

    你到底是怎么在Windows上安装Ruby Gem Jekyll的。

    我在网上找到了这本方便的指南 RubyDevKit 在Windows上安装一个“sane”环境是可行的,但fast stemmer仍然执意使用nmake构建二进制文件,并返回以下错误:

    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:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\bin中使用VisualStudio2010附带的nmake,正如在其他文章中建议的那样。但还是不行。

    在此方面的任何帮助都将不胜感激!

    更新

    感谢大家指出这一点!

    2 回复  |  直到 15 年前
        1
  •  5
  •   Luis Lavena    15 年前

    很明显,从您当前的目录(visualstudio)和您正在使用的gem安装的输出 mswin32

    请从安装Ruby和DevKit RubyInstaller 避免与visualstudio混合使用

        2
  •  1
  •   Jörg W Mittag    15 年前

    mswin32 从哪里来?您是否使用带有MRI的mswin32端口的DevKit?DevKit仅适用于MRI和YARV的当前MinGW端口,它不能与mswin32端口一起工作(顺便说一句,mswin32端口已经过时很长时间了)。

    如果您使用mswin32端口,您将或多或少地依靠自己。尤其是你 使用微软Visual C++ 6,因为这是MSWIN 32端口被编译的,并且以后的Visual C++版本不保证是二进制兼容的。Visual C++ 10(这就是你正在使用的)不起作用。尝试通过显式调用 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

    推荐文章