2008-10-03 22 views
5

尝试更新Windows机器上的一些宝石和我不断地得到这个错误输出没有预编译的二进制文件宝石:如何在Windows上进行Ruby Gems安装使用MinGW进行制作和编译?

提供的配置选项: --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,所以我应该拥有我需要安装,编译和编译这些宝石的所有东西。但是,我不知道如何更改RubyGems的配置,以便在调用extconf.rb时包含指向MinGW include目录的相应选项。

回答

3

有一个DevKit这可能是你以后的事情。

+0

谢谢 - 我没有意识到,直到阅读这个宝石需要使用与Ruby语言本身相同的编译器进行编译。既然如此,我已经走了另一条路 - 我已经安装了VC6,并在头文件中添加了一小段代码,所有工作都很好。谢谢。 – Yardboy 2008-10-13 21:00:02

1

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

-1

总的来说,根据我的经验,为unix系统设计的代码很难在MinGW上工作。对于快速端口,请使用CygWin。或者将软件的完整端口转移到Windows主机上,包括使用本地windows shell和OS API--这在时间上相当昂贵,但如果您计划长期支持Windows,则付出代价。

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

0

我只是有同样的问题。

我发现获取没有预编译的二进制文件(如parsetree)的gem在windows上运行的唯一方法是使用Mingw重新编译Ruby源代码以及从visual C++ install中复制几个库和应用程序我已经有了。我复制的内容包括zlib库以及iconv库和应用程序。

注:我正在使用此设置作为测试配置。我不会使用这样的设置来制作(因为谁知道当你从一个发行版到另一个发行版时会发生什么)。

1

Yardboy,

太糟糕了,你没有提到它的宝石,你想更新,你只能放在那里的选项输出。

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

另外,MinGW将工作,只要你有创建的Ruby版本 MinGW。

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

你可以找到my blog

干杯更多的信息和资源。

相关问题