我正在学习Rails教程... 我已经成功地设置了bcrypt(显然)从:
gem install bcrypt --platform=ruby
正如所述
Successfully installed bcrypt-3.1.11
(...)
1 gem installed
但是在user.rb中添加了这行代码之后
has_secure_password
我运行了一个Rails测试,希望在user_test.rb文件中未要求密码确认时只返回红色指示灯,但实际上我得到了一个错误,在错误信息前面加了。
You don't have bcrypt installed in your application. Please add it to your Gemfile and run bundle install
好的,那么我按照这些指示进行操作,bcrypt-3.1.11 (x86-mingw32)出现在列表中。然后我尝试运行Rails测试,但是出现了LoadError错误。
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bcrypt-3.1.11-x86-mingw32/lib/bcrypt.rb:16:in 'require': cannot load such file -- bcrypt_ext (LoadError)
没错,确实没有名为bcrypt_ext的文件!那又怎样呢?
我在想这里提到了DevKit Rails Gem::LoadError in UsersController#new。在我的第一次尝试中,它说“暂时增强PATH以包括DevKit…”
gem list bcrypt
命令检查 gem 列表,可能安装了多个 bcrypt,移除 (x86-mingw32) 后应该就可以正常工作了。 - Pradeep Sapkota