5

尝试在 Windows 机器上更新一些 gem,但对于没有预编译二进制文件的 gem,我不断收到此错误输出:

提供的配置选项:

    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --srcdir=.
    --curdir
    --ruby=c:/server/ruby/bin/ruby

这些是在安装 gem 期间提供给extconf.rb ruby​​ 文件的配置选项。

我已经安装了MinGW,所以我应该拥有安装、制作和编译这些 gem 所需的一切。
However, I do not know how to change the configuration for RubyGems so that when extconf.rb is called it includes the appropriate options pointing to the MinGW include directory.

4

5 回答 5

3

有一个DevKit很可能就是您所追求的。

于 2008-10-04T18:12:54.940 回答
1

我不知道这是否适用于本机 Windows Ruby,但如果您使用 Cygwin 版本并安装了完整的 Cygwin(编译器等),那么您应该没有任何问题 - 我们已经能够使用很多需要编译的东西的宝石。

于 2008-10-04T08:19:01.847 回答
1

园丁,

太糟糕了,你没有提到你要更新哪个 gem,你只把选项输出放在那里。

此外,其中一些 gem 需要开发头文件和库,而不仅仅是编译器 (MinGW)。

另外,只要您拥有的 Ruby 构建是使用 MinGW 创建的,MinGW 就可以工作

正在做一些工作来缓解这个问题,但是所有平台都需要编译器、头文件和库要求,而不仅仅是 Windows。

您可以在我的博客上找到更多信息和资源

干杯。

于 2009-06-04T12:18:03.230 回答
0

我也有同样的问题。

我发现让没有预编译二进制文件(例如 parsetree)的 gem 在 Windows 上运行的唯一方法是使用 Mingw 重新编译 Ruby 源代码,并从我已经拥有的 Visual c++ 安装中复制几个库和应用程序。我复制的内容包括 zlib 库以及 iconv 库和应用程序。

注意:我将此设置用作测试配置。我不会将这样的设置用于生产(因为谁知道当您将库从一个发行版转移到另一个发行版时会发生什么)。

于 2009-01-26T19:33:56.583 回答
-1

一般来说,根据我的经验,为 unix 系统设计的代码很难在 MinGW 上运行。对于快速移植,请使用 CygWin。或者将软件的完整端口移植到 Windows 主机,包括使用本机 Windows shell 和 OS API——这在时间上非常昂贵,但如果您计划长期支持 Windows,这是值得的。

不熟悉这个特定的软件包,这只是对尝试将其他一些卑鄙的代码移植到 Windows 的一般观察。

于 2008-10-08T18:48:07.800 回答