2010-07-01 66 views
1

我下载的一对Rails应用程序依赖于bson_ext,它似乎是一个本地代码库。当我运行rake gems:install的应用程序,我得到了以下错误消息:如何解决失败的本机扩展在Windows上创建gem?

 
ERROR: Error installing bson_ext: 
     ERROR: Failed to build gem native extension. 

d:/Ruby187/bin/ruby.exe extconf.rb 
checking for asprintf()... no 
checking for ruby/st.h... no 
checking for st.h... no 
checking for ruby/regex.h... no 
checking for regex.h... no 
checking for ruby/encoding.h... no 
creating Makefile 

make 
'make' is not recognized as an internal or external command, 
operable program or batch file. 


Gem files will remain installed in d:/Ruby187/lib/ruby/gems/1.8/gems/bson_ext-1.0.1 for inspection. 
Results logged to d:/Ruby187/lib/ruby/gems/1.8/gems/bson_ext-1.0.1/ext/cbson/gem_make.out 

我的问题是:

  1. 请问我的Rails应用程序失败,因为这一点,我想我知道这个问题的答案?

  2. 如果我需要建立这个宝石,我可以在Windows上做到这一点?

  3. 如果它可以在Windows上构建,我需要什么工具链? GCC?

  4. 我应该放弃Windows for Rails开发并改用我的Mac或Linux VM吗?

回答

2

尝试使用RubyInstaller和可选DevKit自己也变得快乐开发商作为一个可能。安装DevKit后,您应该能够在Windows上构建(编译)大多数本机扩展。

+0

这看起来很有前途。我设法建立了bson_ext,但还有另一个GCC编译器出于某种原因窒息的本地库。从来没有一个沉闷的时刻呃?为devkit提示:) – Kev 2010-07-01 09:48:59

+0

@Kev,如果在编译扩展时遇到任何问题,请在RubyInstaller邮件列表中发布您的问题。这是一个非常敏感的论坛,他们非常快速地提供解决方案。 – horseyguy 2010-07-02 05:29:43

1
  1. 是的,这个应用程序将无法在没有安装这取决于宝石的一个开始。除非扩展程序编译正确,否则不能安装包含本机扩展名的gem。
  2. 那么,Windows不是红宝石世界中最受支持的操作系统:)但我认为你有机会。
  3. 您将需要一个C编译器和其他工具,如make。在大多数情况下,安装Visual Studio或Visual C++就足够了。
  4. 这是强烈建议任何一种或多或少严重的发展。您可能会在Windows上遇到一些令人讨厌的问题。我,因为我已经切换到Mac :)
1

您是否尝试过从Cygwin运行Ruby?

相关问题