我已经开始了一个项目,我遇到了一个与bcrypt有关的大问题。
之前它完全正常(它甚至在以前版本的备份文件上打破)。
当我尝试创建新用户或登录时出现以下错误:
Processing by Devise::SessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"$$$==", "user"=>{"email"=>"percyjackson@example.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"}
Completed 401 Unauthorized in 96ms (ActiveRecord: 0.0ms)
LoadError (cannot load such file -- 2.3/bcrypt_ext):
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `block in require'
activesupport (5.1.4) lib/active_support/dependencies.rb:258:in `load_dependency'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
bcrypt-ruby-3.0.1-x86 (mingw32) lib/bcrypt_ext.rb:2:in `<top (required)>'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `block in require'
activesupport (5.1.4) lib/active_support/dependencies.rb:258:in `load_dependency'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
bcrypt-ruby-3.0.1-x86 (mingw32) lib/bcrypt.rb:12:in `<top (required)>'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `block in require'
activesupport (5.1.4) lib/active_support/dependencies.rb:258:in `load_dependency'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
devise (4.4.0) lib/devise/encryptor.rb:3:in `<top (required)>'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `block in require'
activesupport (5.1.4) lib/active_support/dependencies.rb:258:in `load_dependency'
activesupport (5.1.4) lib/active_support/dependencies.rb:292:in `require'
devise (4.4.0) lib/devise/models/database_authenticatable.rb:167:in `password_digest'
devise (4.4.0) lib/devise/models/database_authenticatable.rb:47:in `password='
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:46:in `public_send'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:46:in `_assign_attribute'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:40:in `block in _assign_attributes'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:39:in `each'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:39:in `_assign_attributes'
activerecord (5.1.4) lib/active_record/attribute_assignment.rb:26:in `_assign_attributes'
activemodel (5.1.4) lib/active_model/attribute_assignment.rb:33:in `assign_attributes'
activerecord (5.1.4) lib/active_record/core.rb:337:in `initialize'
activerecord (5.1.4) lib/active_record/inheritance.rb:66:in `new'
activerecord (5.1.4) lib/active_record/inheritance.rb:66:in `new'
devise (4.4.0) app/controllers/devise/sessions_controller.rb:11:in `new'
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
[...]
我的gemfile中的gem说
gem'bcrypt-ruby','〜&gt; 3.0.0'
我几乎尝试了各种变化。