bcrypt-ruby — в вашем приложении не установлен bcrypt-ruby.

Я новичок в Ruby on Rails и пытаюсь учиться на http://ruby.railstutorial.org/. Я создаю sample_app и застрял на главе 6.

Моя версия Ruby: ruby ​​2.0.0p195 (2013-05-14) [i386-mingw32]

Моя версия Rails: Rails 4.0.0

У меня есть следующая строка в моем GemFile:

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

Если я наберу gem list bcrypt-ruby , он покажет bcrypt-ruby (3.0.1) . Но если я пытаюсь создать пользователя, я получаю сообщение об ошибке

В вашем приложении не установлен bcrypt-ruby. Пожалуйста, добавьте его в свой Gemfile и запустите установку пакета.

Я много искал на сайте rails, bcrypt и даже stackoverflow. Но ничего не получилось. Пожалуйста помоги.


person Nilesh    schedule 20.09.2013    source источник
comment
ты запустил bundle install?   -  person dax    schedule 20.09.2013
comment
попробуй: gem 'bcrypt-ruby', '~> 3.0.0', :require => true   -  person apneadiving    schedule 20.09.2013
comment
Пробовал.. Но это тоже не сработало.. Не могу понять чего не хватает.. :(   -  person Nilesh    schedule 20.09.2013
comment
какую ошибку вы получаете, пока bundle install требуется gcc   -  person Rajarshi Das    schedule 20.09.2013
comment
stackoverflow.com/questions/6119153/   -  person Rajarshi Das    schedule 20.09.2013
comment
Спасибо Раджарши .. Но я не получаю ошибку при выполнении установки пакета   -  person Nilesh    schedule 20.09.2013


Ответы (6)


Я столкнулся с этой проблемой недавно (как и многие другие). Согласно публикации ladyruby723 здесь, используйте gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt' в файле gemfile .

person weezilla    schedule 29.03.2017

Я решил эту же проблему следующей строкой:

gem 'bcrypt-ruby', '~> 3.1.2'
person Jacky    schedule 04.03.2014

Я считаю, что эта точная проблема решена в другом вопросе. На самом деле выдается два сообщения об ошибках, это сообщение более высокого уровня, ища более низкий уровень, я нашел ответ ниже.

может' не активировать bcrypt-ruby (~› 3.0.0), уже активирован bcrypt-ruby-3.1.1. Убедитесь, что все зависимости добавлены в Gemfile

person KnownColor    schedule 07.10.2013

добавить ниже в файл драгоценного камня

gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'

и запустите установку пакета и перезапустите сервер

person him    schedule 13.09.2017

Наконец... Заработало. Я не понял точной проблемы, но я сделал два важных изменения. Я не уверен, какое изменение заставило его работать.

  1. Я удалил свои старые ruby ​​& rails, которые были установлены из railsinstaller. Установил просто ruby ​​для своей ОС (64 бит, которую я не смог выбрать при установке с railsinstaller). Затем я установил рельсы, sqlite3 отдельно.

  2. Я сделал еще одно важное изменение в Gemfile.lock. Думаю, это помогло. Я сохранил обе следующие строки

    bcrypt-руби (3.0.0) bcrypt-руби (3.0.0-x86-mingw32)

person Nilesh    schedule 22.09.2013

В моем случае проблема заключалась в том, что версия bcrypt 3.1.2 устарела. К счастью, в Ruby есть способ установить самую последнюю версию определенного драгоценного камня прямо из вашей командной строки. В этом случае я набрал

связка нетронутого bcrypt

но в целом вы можете сделать

комплект нетронутый gem name

Если вы думаете, что можете столкнуться с похожей проблемой с другим драгоценным камнем

person jjhiggz    schedule 26.10.2020