【问题标题】:Using Ruby Bcrypt with Heroku将 Ruby Bcrypt 与 Heroku 一起使用
【发布时间】:2012-12-18 19:51:48
【问题描述】:

有一个使用 BCrypt 哈希密码的 Ruby on Rails 应用程序,用户模型有

require "BCrypt"

gemfile 有

gem 'bcrypt-ruby'

这在本地运行时一切正常,但是当我将它部署到我的 Heroku 服务器时,我收到以下错误

2012-11-16T14:42:32+00:00 app[web.1]: Exiting
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/application/finisher.rb:53:in `block in <module:Finisher>'
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/engine.rb:436:in `eager_load!'
2012-11-16T14:42:32+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:312:in `depend_on'
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:225:in `require_dependency'
2012-11-16T14:42:32+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:317:in `rescue in depend_on': No such file to load -- BCrypt (LoadError)
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
2012-11-16T14:42:32+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/initializable.rb:30:in `instance_exec'
...
2012-11-16T14:42:32+00:00 app[web.1]:   from script/rails:6:in `<main>'
2012-11-16T14:42:33+00:00 heroku[web.1]: Process exited with status 1
2012-11-16T14:42:33+00:00 heroku[web.1]: State changed from crashed to down
2012-11-16T14:42:33+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-16T14:42:34+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=smartaprofiles.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=

我假设问题出在 No such file to load -- BCrypt (LoadError) 但似乎无法解决,bundle installbundle update 工作正常,它说 bcrypt-ruby 安装正常。
有什么想法可以解决这个问题吗?我全力以赴!

谢谢

【问题讨论】:

  • 你试过require "bcrypt"吗? Heroku 的文件系统区分大小写。
  • 你太棒了!我不敢相信解决起来这么简单,我生命中总有一天我不会回来!非常感谢,如果您将其作为答案发布,我将标记为正确。

标签: ruby-on-rails ruby-on-rails-3 heroku bcrypt


【解决方案1】:

发布此答案是为了帮助其他人找到此页面。 正确答案在问题的 cmets 中,由@eugen 提供。

问题是大写,因为我在 Windows 上开发,它不关心大小写,但在 Heroku (UNIX) 服务器上它确实如此,我应该使用“bcrypt”而不是“BCrypt”。

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2015-01-17
    相关资源
    最近更新 更多