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 и даже на stackru. Но ничего не сработало. Пожалуйста помоги.

5 ответов

Решение

Наконец-то... Все заработало... Не понял точной проблемы, но я сделал два важных изменения. Я не уверен, какое изменение заставило его работать... 1. Я удалил свой старый ruby ​​& rails, который был установлен из railsinstaller. Установил только ruby ​​для моей ОС (64 бит, который я не смог выбрать при установке из railsinstaller). Затем я установил рельсы, sqlite3 отдельно. 2. Еще одно важное изменение, которое я сделал, - в GemFile.lock . Я думаю, что это добилось цели. Я сохранил обе следующие строки

bcrypt-ruby (3.0.0)
bcrypt-ruby (3.0.0-x86-mingw32)

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

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

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

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

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

но в более общем плане вы можете сделать

сверток нетронутый gem name

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

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

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

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

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

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

Другие вопросы по тегам