2016-11-22 186 views
0

我的应用程序加载在本地,但任何交互抛出一个错误:的Rails无法加载这样的文件 - bcrypt

Started GET "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2016-11-22 15:42:14 +1100 
    ActiveRecord::SchemaMigration Load (1.0ms) SELECT "schema_migrations".* FROM 
"schema_migrations" 
Processing by Users::SessionsController#new as HTML 
    Rendering users/sessions/new.html.erb within layouts/application 
    Rendered users/sessions/new.html.erb within layouts/application (37.0ms) 
    Rendered layouts/_navbar.html.erb (1.0ms) 
Completed 200 OK in 1007ms (Views: 978.5ms | ActiveRecord: 4.0ms) 


Started POST "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2016-11-22 15:42:29 +1100 
Completed 401 Unauthorized in 8ms (ActiveRecord: 1.0ms) 


Processing by Users::SessionsController#new as HTML 
    Parameters: {"utf8"=>"V", 
Completed 500 Internal Server Error in 4ms (ActiveRecord: 0.0ms) 


LoadError (cannot load such file -- bcrypt): 

app/controllers/users/sessions_controller.rb:6:in `new' 
    Rendering C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.1/lib/action 

我运行Windows7的64位,Ruby23-64,Rails的5.0.0.1和唯一的bcrypt宝石我有安装的是:bcrypt-3.1.11。

我在这里尝试了解决方案:cannot load such file -- 1.9/bcrypt_ext (LoadError)但是对于较新版本的ruby,bcrypt-ruby不再存在。

编辑:如果我运行gem install bcrypt,我会得到一个额外的bcrypt gem:C:\ Ruby23-x64 \ lib \ ruby​​ \ gems \ 2.3.0 \ gems。我现在有2个bcrypts:

  • C:\ Ruby23-64 \ LIB \红宝石\宝石\ 2.3.0 \宝石\ bcrypt-3.1.11
  • C:\ Ruby23-64 \ LIB \红宝石\ gems \ 2.3.0 \ gems \ bcrypt-3.1.11-x64-mingw32

我该保留哪一个,以及我需要在Gemfile中更改哪些内容?

我缺少什么?

+0

是'bcrypt'宝石正确安装? –

+0

尝试添加gem文件,如'gem'bcrypt-ruby','3.1.1.rc1',:require =>'bcrypt'' – Sravan

+0

尝试下一个版本的'bcrypt','3.1.2' – Sravan

回答

8

您将此gem 'bcrypt'放入您的Gemfile

如果你把它和跑bundle install,你restart你的rails server

如果你仍然有这个问题,你可以这样做如下:

gem uninstall bcryptgem uninstall bcrypt-ruby

  • 安装:

    • 首先运行这两个命令卸载bcryptbcrypt-ruby再与gem install bcrypt --platform=ruby

    • 在你Gemfilegem 'bcrypt-ruby', '3.1.5', :require => 'bcrypt'

    • 然后运行bundle installrestartrail server

  • +0

    我在我的Gemfile中放入'gem bcrypt',并在我的Rails服务器启动之前运行'bundle install'。然后我重新启动了rails服务器,问题依然存在。 – rlsaj

    +0

    @rlsaj我刚刚更新了我的答案,请再次检查。 –

    +0

    谢谢修复它 - 奇怪的是我不得不一直回到3.1.5才能工作。现在我有其他错误,但是现在已经解决了这个特定的错误。 – rlsaj

    相关问题