2010-07-01 70 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?

相關問題