无法激活bcrypt-ruby(〜> 3.0.0),已经激活了bcrypt-ruby-3.1.2?

时间:2014-02-05 15:54:36

标签: ruby ruby-on-rails-4

我正在尝试安装bcrypt来处理密码。

我跑了gem install bcrypt-ruby并得到了:

....Successfully installed bcrypt-ruby-3.1.2

我添加了gem "bcrypt-ruby", "~> 3.1.2"并运行了bundle install,然后重新启动了运行该程序的服务器,但是我收到了错误:

get Gem::LoadError in UsersController#new 
can't activate bcrypt-ruby (~> 3.0.0), already activated bcrypt-ruby-3.1.2. Make sure all dependencies are added to Gemfile.


format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
**has_secure_password** <---Error
validates :password, length: { minimum: 6 }
end

3 个答案:

答案 0 :(得分:1)

您可以将Gemfile行更改为...

gem 'bcrypt-ruby', '~> 3.0.0'

然后捆绑,那应该修复它!

答案 1 :(得分:0)

尝试

bundle update

我还建议简单地将gem "bcrypt-ruby", "3.1.2"放在Gemfile中。

答案 2 :(得分:0)

~> 3.0.0版本与~> 3.1.2版本冲突,因为比较发生在3.0.~3.1.~,并且失败了。您需要将~> 3.0.0更改为~> 3.0,以便将3.~3.1进行比较。

如果您无法执行此操作,则必须查看 Gemfile.lock ,哪个gem需要3.1.2版本的bcrypt-ruby,并尝试对其进行降级。