2009-11-03 91 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