I've started a project and I ran into a massive issue with bcrypt.
It worked perfectly fine before (it broke even on a backup file of a previous version).
Here's my error when I try to create a new user or log in:
Processing by Devise::SessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"$$$==", "user"=>{"email"=>"[email protected]", "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'
[...]
The gem from my gemfile says
gem 'bcrypt-ruby', '~> 3.0.0'
and I've tried pretty much every variation of that.