在Windows上安装bcrypt ruby gem

在Windows上安装bcrypt ruby gem,windows,ruby,gem,bcrypt,Windows,Ruby,Gem,Bcrypt,我正在尝试在Windows Vista上安装 到目前为止,我已经能够从MS知识库文章中安装nmake.exe,并从安装Visual Studio 2008 Express中安装cl.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-

我正在尝试在Windows Vista上安装

到目前为止,我已经能够从MS知识库文章中安装nmake.exe,并从安装Visual Studio 2008 Express中安装cl.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的副本。

要为一键式安装程序(OCI)构建gem扩展,您需要VC6。在运行期间,混合和匹配不同版本的较新Visual Studio将失败或生成未知错误

我建议您避免所有这些麻烦,继续使用一次单击的后续操作,即RubyInstaller

  • 下载并安装1.8.6或1.9.1 RC1软件包
  • 下载开发工具包,并将其解压缩到Ruby安装中
  • 按照
    INSTALL.txt
    说明将DevKit调整到您提取它的位置
  • 继续执行
    gem安装bcrypt-ruby
    ,将开箱即用
  • 有关在新版本中使用其他gems或Rails的更多详细信息,请参阅我们Wiki中的部分


    希望这有帮助。

    更好、最简单的方法是安装:

  • 下载
    devkit-.7z
    from
  • 将其解压缩到Ruby目录中(例如,
    C:\Ruby
    ,这样您就有了
    C:\Ruby\devkit
  • 在命令行中,键入:
    gem install bcrypt ruby
  • 试试下面的命令


    gem install bcrypt ruby--platform=mswin32

    在windows中安装Desive时,我遇到了同样的问题

    也许你可以签出这个:

    乔治是对的,注意这里:

  • ruby版本:必须安装“ruby安装程序”版本,但不能安装.zip版本或其他版本

  • 将其解压缩到Ruby目录中(例如,C:\Ruby,这样您就有了C:\Ruby\devkit

  • 如果您是从其他安装文件(不是ruby安装程序)安装ruby的,则必须将其删除,然后使用ruby安装程序安装ruby。不要简单地覆盖它

  • 不需要安装VC6,它不会与其他ruby安装程序版本(不是ruby-installer)一起工作。如果您安装它只是为了安装ruby gem,我建议您将其删除

  • 不需要安装MinGW,因为开发工具包就是基于它的

  • 我花了将近15个小时来解决这个问题。现在是时候说“ruby installer”+“dev kit”是我们构建本机gem的选择了。

    在Windows Server 2003(ruby 1.8.6)上,普通的:

    gem install bcrypt-ruby
    
    工作起来很有魅力。
    请注意,如果要将其与Rails一起使用,则必须使用:

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

    对我来说,问题的一部分在于我安装了Ruby2.0.0 x64(我运行的是win8),这似乎与我使用的gcc编译器不兼容


    我已经删除了我的ruby安装,并使用railsInstaller()安装了ruby 1.9.3以及Bundler、Rails和其他一些软件包,现在我可以安装bcrypt ruby:)

    对于我来说,以下方法很有效

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

    @路易斯:刚刚找到了一个更好的方法。我的解决方案是在一天左右的时间内切换到Mac=),如果这是“最好”的解决方案(我不打算测试),我会选择你的作为答案。不过,这听起来是个不错的解决方案。我可以确认,安装了DevKit后,gem确实可以正确编译和安装:与切换到Mac相比,这不是一个激进的解决方案但是你必须安装Visual C++ 6,对吧?没有VC 6.0,我无法让它工作!我从哪里得到这个12岁的编译器…?@giorgian我已经试过了,但是没有用。“gem install bcrypt ruby”命令仍然抱怨找不到“nmake”。nmake也不在devkit的任何地方。我看到@查尔斯截图是指I38 6 MIWW,因此如果你不能使用Visual C++ 6,这似乎是前提。对吗?我知道这是一个老问题,但我对这件事一直很满意。我最终完全按照@giorgian所说的做了,并在这里添加了以下步骤:。在那之后,一切都为我工作!(运行Windows7)。我找到的最好的方法是切换到Mac。所以我无法测试你的解决方案是否有效。如果有人在这里尝试和评论,我会接受这个答案。谢谢你的评论。devkit是绝对必要的,但只有当我卸载并用--platform=ruby部分重新安装时,它才能工作(否则它不会调用devkit)。此外,现在我需要指定我要安装的gem的确切版本-我系统中的某些东西需要3.1.1。