我正在尝试安装 bcrypt-ruby 在 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 的副本。

有帮助吗?

解决方案

更好、最简单的方法是安装 开发套件:

  1. 下载 devkit-<version>.7z这里;
  2. 将其解压到 Ruby 目录中(例如, C:\Ruby, ,这样你就会有 C:\Ruby\devkit;
  3. 从命令行输入: gem install bcrypt-ruby.

其他提示

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

我建议避免所有这些麻烦并继续使用 One-Click 的后继者,即 RubyInstaller。

  1. 下载并安装 1.8.6 或 1.9.1 RC1 软件包, 在 RubyForge 上宣布
  2. 下载开发工具包,并将其解压到您的 Ruby 安装中
  3. 跟随 INSTALL.txt 将 DevKit 调整到您提取它的位置的说明
  4. 与..一起处理 gem install bcrypt-ruby, ,开箱即用

有关在这个新版本中使用其他 gem 或 Rails 的更多详细信息,请参阅 教程 我们的 Wiki 中的部分。

希望这可以帮助。

尝试以下命令

宝石安装bcrypt旁注--platform = mswin32

有关我,下面的工作

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

我在 Windows 中安装设备时遇到了同样的问题。

也许你可以看看这个:http://github.com/oneclick/rubyinstaller/wiki/development-kit

giorgian 是正确的,请注意这里:

  1. 红宝石版本:您必须安装“ruby installer”版本,但不能安装.zip 版本或其他版本。

  2. 将其解压到 Ruby 目录中(例如 C: uby,这样您将拥有 C: uby\devkit;

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

  4. 无需安装 VC6,它不能与其他 ruby​​ 安装版本(不是 ruby​​-installer)一起使用。如果您安装它只是为了设置 ruby​​-gem,我建议您将其删除。

  5. 无需安装 MinGW ,因为 dev-kit 是基于它的。

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

在Windows Server 2003的(红宝石1.8.6),纯香草:

gem install bcrypt-ruby

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

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

对我来说,该问题的一部分是这样的事实:我已经安装Ruby2.0.0 64(我运行win8的),它似乎与我用gcc编译不相容。

我已经打消了我的Ruby安装,并与捆扎机,Rails和配合使用railsInstaller一些其他的包(的 http://railsinstaller.org/ )和我现在可以安装bcrypt-红宝石:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top