2009-11-03 127 views
7

我試圖在Windows Vista上安裝bcrypt-ruby在Windows上安裝bcrypt-ruby gem

到目前爲止,我已經能夠從安裝Visual Studio 2008 Express的MS知識庫文章和cl.exe中安裝nmake.exe。

不過,我現在遇到這個錯誤:

cl -nologo -Wall -I. -IC:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I 
C:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tcb crypt.c 
cl : Command line warning D9035 : option 'Og-' has been deprecated and will be removed in a future release 
cl : Command line warning D9002 : ignoring unknown option '-G6' bcrypt.c 
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(381) : warning C4255: '_get_printf_count_output' : no function prototype given: converting '()' to '(void)' 
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdlib.h(215) : warning C4255: '_get_purecall_handler' : no function prototype given: converting '()' to '(void)' 
c:\instantrails\ruby\lib\ruby\gems\1.8\gems\bcrypt-ruby-2.1.2\ext\mri\blf.h(37): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory 
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2' Stop. 

我已經執行VCVARS32.BAT這大概將設置環境。我懷疑警告和錯誤是由於安裝新版本的Visual Studio所致。

有沒有人做過這個成功?我沒有Visual Studio 6.0的副本。

回答

9

更好,最簡單的方法就是安裝development kit:從here

  1. 下載devkit-<version>.7z;
  2. 解壓在Ruby目錄(例如,C:\Ruby,這樣你就會有C:\Ruby\devkit;
  3. 在命令行中鍵入:gem install bcrypt-ruby
+0

我的解決方案是切換到Mac =)在一天左右,如果這是'最好的'解決方案(我不會測試它),我會選擇你的答案。這聽起來像是一個很好的解決方案。 – Jaryl 2010-03-11 12:49:46

+0

我可以確認該寶石編譯和安裝DevKit安裝正確:http://pastie.org/866429 少一個比切換到Mac的激烈解決方案。 ;) – 2010-03-12 12:28:26

+0

但是你必須安裝Visual C++ 6.0,對吧?如果沒有VC 6.0,我無法實現這個目標!我在哪裏得到這個12歲的編譯器......? – 2010-07-06 14:41:23

1

爲了能夠構建一鍵式安裝程序(OCI)的gem擴展,您需要VC6。對新版Visual Studio的不同版本進行混搭和匹配將失敗,或在運行時生成未知錯誤。

我會建議避免所有這些麻煩,並繼續進行One-Click,它被稱爲RubyInstaller的繼任者。

  1. 下載並安裝1.8.6或者1.9.1或RC1包,announced at RubyForge
  2. 下載開發工具包,並解壓它在你的Ruby安裝
  3. 按照INSTALL.txt說明調整的devkit的位置你提取它
  4. gem install bcrypt-ruby出發,將工作開箱

的有關使用其他寶石或Rails的這個新的有關詳細信息er版本,請參閱Wiki中的tutorials部分。

希望這會有所幫助。

+0

@Luis:剛剛發現了一個更好的方法。 – giorgian 2010-03-11 12:16:52

+0

@giorgian:請分享。 – 2010-03-15 08:28:21

1

試試下面的命令

創業板安裝bcrypt。 -ruby --platform = mswin32

+0

我發現的最佳方式是切換到Mac。所以我無法測試您的解決方案是否有效。如果有人在這裏試用並評論,我會接受這個答案。 – Jaryl 2010-09-26 16:21:54

0

我設計安裝在窗戶時遇到了同樣的問題。

也許你可以籤這樣的: http://github.com/oneclick/rubyinstaller/wiki/development-kit

和giorgian是正確的,這裏要注意:

  1. 紅寶石版本:您必須安裝「紅寶石安裝程序」的版本,但不.ZIP版或其他版本。

  2. 解壓在Ruby目錄(如C:\紅寶石,讓你有C:\紅寶石\的devkit;

  3. 如果您安裝了其他的安裝文件紅寶石(這不是ruby-installer),你必須刪除它,然後用ruby安裝程序安裝ruby。不要簡單地覆蓋它。

  4. 不需要安裝VC6,它不會與其他ruby安裝版本一起工作ruby-installer)。如果你安裝它只是爲了設置ruby-gem,我建議你刪除它。

  5. n o需要安裝MinGW,因爲dev-kit是基於它的。

我花了近15個小時來解決這個問題。現在是時候說「ruby-installer」+「開發工具包」是我們選擇構建本地寶石的時候了。

0

在Windows Server 2003(紅寶石1.8.6),在普通的香草:

gem install bcrypt-ruby 

工作就像一個魅力。
需要注意的是,如果你想使用Rails使用它,你必須使用:

config.gem 'bcrypt-ruby', :lib => 'bcrypt' 
0

對於我來說,這個問題的一部分是事實,我已經安裝Ruby2.0.0 64(我運行的Win8 ),這似乎與我使用的gcc編譯器不兼容。

我已經打消了我的Ruby安裝,並與捆紮機,Rails和配合使用railsInstaller(http://railsinstaller.org/)一些其他軟件包安裝了Ruby 1.9.3在一起,我現在可以安裝bcrypt-ruby的:)

1

對我而言,以下工作

gem uni bcrypt-ruby 
gem i bcrypt-ruby --platform=ruby 
+0

感謝您的評論。 devkit是絕對必要的,但是隻有當我卸載並使用--platform = ruby​​部分重新安裝時才能工作(否則它不會調用devkit)。 – 2013-07-29 14:50:31

+1

另外,現在我需要指定我想要安裝的gem的確切版本 - 我的系統內部需要3.1.1。 – 2013-08-28 17:25:57