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