在Windows上使用bcrypt 3.0.1和ruby2.0的问题

New*_*lry 3 rubygems bcrypt ruby-on-rails-3

有没有人在Windows 8上安装bcrypt 3.0.1或3.1.2有任何问题?我试过测试不同的版本,但我收到了这个错误.

但我在运行rails服务器后遇到此错误.无法加载此类文件 - 2.0/bcrypt_ext"您的应用程序中未安装bcrypt-ruby.请将其添加到您的gemfile并运行bundle install"

我正在使用:操作系统:Windows 8 Rails 4.0.0 Ruby 2.0.0 bcrypt-ruby 3.0.1

我的gemsfile已将bcrypt定义为此.gem'bcrypt-ruby','3.0.1'

当我卸载3.0.1并安装3.1.2时,更新我的gemfile指向3.1.2,运行bundle install,然后运行rails server我收到错误:

"无法激活bcrypt-ruby(〜> 3.0.0),已激活3.1.2 ...确保所有依赖项都添加到gemfile中."

我尝试进行捆绑更新以使我获得所有依赖项但没有运气.我搜索了多个论坛并尝试了许多解决方案,但没有运气.我很乐意为您提供任何建议和反馈.

谢谢!

bet*_*sed 9

bcrypt-ruby 3.0.1大约2年前发布,与您的环境不兼容.您必须使用最新版本[3.1.2].

这就是我在Gemfile中声明它的方式:

gem 'bcrypt-ruby', github: 'codahale/bcrypt-ruby'
Run Code Online (Sandbox Code Playgroud)

要么

gem 'bcrypt-ruby', '3.1.2'
Run Code Online (Sandbox Code Playgroud)

http://rubygems.org获取它

要摆脱错误(无法激活bcrypt-ruby(〜> 3.0.0),...)转到

ruby_dir/lib/ruby/gems/2.0.0/gems/activemodel-4.0.0/lib/active_model/secure_password.rb:47
Run Code Online (Sandbox Code Playgroud)

并将行更改为

gem 'bcrypt-ruby', '~> 3.0.0'
Run Code Online (Sandbox Code Playgroud)

gem 'bcrypt-ruby', '~> 3.1.0'
Run Code Online (Sandbox Code Playgroud)