2013-07-27 95 views
1

我試圖升級一個非常小的設計應用程序到ruby 2和rails 4.我嘗試啓動rails服務器時出現bcrypt-ruby(設計依賴)錯誤,或者輸入db命令。ruby​​ 2 + rails 4 + devise

如何強制設計使用更新版本的gemfile(3.1.1)中的bcrypt-ruby,而不是自動安裝的依賴關係(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

你被迫直到色器件改變依賴(使用3.0版本bcrypt-紅寶石或者你可以分叉設計並將你的應用指向被黑客入侵的倉庫)。 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'