2013-07-27 4 views
1

Я пытаюсь обновить очень маленькое приложение для создания рубинов 2 и рельсов 4. Я получаю ошибку bcrypt-ruby (зависимость от разработки) при попытке запустить сервер rails или входные команды db.ruby ​​2 + rails 4 + devise

Как заставить приложение использовать более новую версию bcrypt-ruby, которая находится в gemfile (3.1.1), а не автоматически установленную зависимость (3.0.1), поскольку добавление «bcrypt-ruby 3.1.1» в gemfile и запущенное обновление/установка пакета, похоже, не решает проблему.

$ rails s 
You have requested: 
    bcrypt-ruby = 3.1.1 

The bundle currently has bcrypt-ruby locked at 3.0.1. 
Try running `bundle update bcrypt-ruby` 
Run `bundle install` to install missing gems. 

Gemfile:

gem 'bcrypt-ruby', '3.1.1', :require => 'bcrypt' 

Gemfile.lock

devise (3.0.0) 
     bcrypt-ruby (~> 3.0) 
+1

Вы вынуждены использовать версию Bcrypt-рубин 3.0 до Разрабатывают не изменяет зависимость (или вы можете развивать вилку и указывать свое приложение на взломанное репо). Devise использует '~> 3.0' - см. Http://docs.rubygems.org/read/chapter/16 - поэтому 3.0.1, 3.0.2 и т. Д. Все действуют, но не 3.1 – house9

ответ

2

house9 правильно.

Я раздвоенный репо и обновил зависимость, вы можете попробовать его с помощью этого в вашем Gemfile:

gem 'devise', :git => 'https://github.com/Arkham/devise.git', :branch => 'update_bcrypt'