我正在尝试安装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
答案 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
,并尝试对其进行降级。