【问题标题】:How to change rubygems platform from x86-mingw32 to x86-mswin32-60 on windows如何在 Windows 上将 ruby​​gems 平台从 x86-mingw32 更改为 x86-mswin32-60
【发布时间】:2010-07-17 18:46:23
【问题描述】:

我正在 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安装没有x86-mswin32-60 ruby​​gems平台

> 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​​ 版本,其中 ruby​​gems 平台包括 x86-mswin32-60?我从 ruby​​installer.org 找不到任何不是 mingw 的安装程序。

--- 编辑---

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

【问题讨论】:

    标签: windows ruby rubygems platform


    【解决方案1】:

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

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

    但是,我建议不要这样做,原因有几个,我在我的博客 here 中提到了一些原因

    在将基于此的代码推送到生产环境之前,请先进行测试,看看它是否可以工作。

    希望对您有所帮助。

    【讨论】:

    • 好的,我能够安装 gem,但是当我尝试要求它时它失败了。使用旧的一键式安装程序,当我尝试安装 gem 时,我得到了 GemNotFoundException,即使我添加了 rubygems.org 作为源。你知道为什么吗?与此同时,我用另一种方式解决了我的问题,使用带有 start 和 taskkill 命令的 bat 文件。
    • 嗯,不,因为你没有告诉我们你得到了什么错误。基本上,如果您收到错误,我们需要知道是哪一个。如果您在代理/防火墙后面,则需要使用 --http-proxy 选项。我认为您应该在发布新问题之前搜索该问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    相关资源
    最近更新 更多