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

如何在windows上将rubygems平台从x86-mingw32改为x86-mswin32-60

  •  3
  • Boris  · 技术社区  · 14 年前

    我正在windows中编写ruby脚本,包括打开和关闭浏览器。为此,我需要一些特殊的gem来连接本机windows系统调用。但当我试着

    > gem install sys-proctable
    

    ,它屈服了

    ERROR: Could not find a valid gem ´sys-proctable´ (>= 0), here is why: 
              Found sys-proctable (0.9.0), but was for platforms x86-darwin-8 
                ,x86-freebsd-7 ,x86-solaris-2.10 ,x86-linux ,x86-mswin32-60
    

    > gem environment
    RubyGems Environment:
      - RUBYGEMS VERSION: 1.3.7
      - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]
    
      ...
    
      - RUBYGEMS PLATFORMS:
        - ruby
        - x86-mingw32
    
      ...
    

    问题似乎来自我的ruby版本,它是用mingw库编译的。所以我的问题是:如何获得ruby版本,rubygems平台包括x86-mswin32-60?我在rubyinstaller.org上找不到任何不是mingw的安装程序。

    ---编辑---

    最后一部分有点仓促。实际上,rubyinstaller.org有传统的一键安装程序,它是为mswin32构建的。但是这个安装对我来说还有一些其他的问题,所以我想我会尝试下面Luis的解决方案。

    1 回复  |  直到 14 年前
        1
  •  8
  •   Luis Lavena    14 年前

    您可以强制gem安装 --platform 选项:

    gem install sys-proctable --platform=x86-mswin32-60
    

    然而,我反对它有几个原因,有些我在我的博客中提到过 here

    请先进行测试,看看它是否可以工作,然后再将基于此的代码推入生产环境。

    希望有帮助。