Rails做rspec测试时出现bcrypt错误的解决

时间:2023-03-09 19:36:05
Rails做rspec测试时出现bcrypt错误的解决

在用rspec做测试的时候,出现了如下一句错误:

You don't have bcrypt-ruby installed in your application. Please add it to your Gemfile and run bundle install

原来在Gemfile中写的是:

gem 'bcrypt-ruby' 

因为后面没指定版本号所以默认安装的是最新版,但是不巧的是在bundle install时提示bcrypt-ruby已被改名为bcrypt,所以安装的gem名字是后者.

rspec在测试时依赖于bcrypt-ruby这个名字,所以你只有回到Gemfile中去指定bcrypt-ruby为较旧的版本:

gem 'bcrypt-ruby','3.0.1'

再次bundle install,然后进行测试,一切正常!