Bcrypt — Ruby on Rails с Devise — проблема с Windows

У меня проблемы с bcrypt, когда я пытаюсь запустить свой сервер rails или пытаюсь войти на локальный хост.

Я поиграл, повторно загрузив/обновив свой файл Gem с различными версиями bcrypt и перемещая файлы в соответствии с некоторыми проблемами github, возникшими в связи с этим.

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

не могу загрузить такой файл — 2.3/bcrypt_ext

И мой файл Gem имеет: gem 'bcrypt-ruby', '~> 3.0.0'

Любые мысли, чтобы заставить это работать последовательно в Windows?


person daveGeo    schedule 03.02.2017    source источник
comment
Возможный дубликат stackoverflow.com/questions/29293321/   -  person DroidNoob    schedule 03.02.2017


Ответы (2)


Наткнулся на эту проблему github, и, похоже, работает следующее

  1. Сначала удалите bcrypt и bcrypt-ruby, выполнив следующие две команды:
    gem uninstall bcrypt и gem uninstall bcrypt-ruby.
  2. Установите его снова с помощью gem install bcrypt --platform=ruby
  3. В вашем Gemfile напишите gem 'bcrypt-ruby', '3.1.5', :require => 'bcrypt'
  4. Беги bundle install
person Tony Vincent    schedule 03.02.2017
comment
Я попытался запустить эти команды именно в таком порядке. Когда я попытался запустить свой сервер rails, я получил следующую ошибку: C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in require': невозможно загрузить такой файл -- bcrypt_ext (LoadError)` - person daveGeo; 04.02.2017

Хорошо, я получил это, обратившись к следующему ответу: https://stackoverflow.com/a/33593911/6676900

Основные этапы следующие: 1. Установите Devkit с сайта http://rubyinstaller.org/downloads/. (ПРИМЕЧАНИЕ. Мне пришлось использовать 32-разрядную версию, хотя я использую 64-разрядную версию Windows 10). 2. Обновите переменную PATH, чтобы использовать 32-разрядную версию комплекта разработчика. т.е. %DEVKIT_HOME%\bin (где %DEVKIT_HOME% — это расположение извлеченного Dev Kit) 3. Следуйте командам в следующем ответе: https://stackoverflow.com/a/33593911/6676900

Хорошо пойти!

person daveGeo    schedule 04.02.2017