2014-02-05 1 views
0

Я пытаюсь установить bcrypt для обработки паролей.Невозможно активировать bcrypt-ruby (~> 3.0.0), уже активированный bcrypt-ruby-3.1.2?

Я побежал 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

Могу ли я изменить '~> 3.0.0' на' ~> 3.0' –

+0

не удалось изменить – Neil

+0

вам нужно увидеть в ** Gemfile.lock **, для которого требуется версия 3.1.2 bcrypt-ruby , и попытаться понизить его. –

ответ

0

версия ~> 3.0.0 конфликтует с ~> 3.1.2, поскольку сравнение проводится 3.0.~ по 3.1.~, и не удалось. Вы бреетесь, чтобы изменить ~> 3.0.0 на ~> 3.0, для сравнения 3.~ - 3.1.

Если вы не в состоянии сделать это, вы должны видеть в Gemfile.lock, что драгоценный камень требует 3.1.2 версии bcrypt-ruby в, и попытаться downdrade его.

+0

ok thats working now thanks – Neil

1

Вы можете изменить Gemfile линии до ...

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

а затем булочка dle, и это должно исправить!

0

Попробуйте

bundle update 

Я также рекомендую просто положить gem "bcrypt-ruby", "3.1.2" в Gemfile.

Смежные вопросы