Heroku找不到SecureRandom

时间:2014-06-16 19:41:12

标签: ruby-on-rails ruby heroku

我的heroku应用程序崩溃,因为找不到模块'SecureRandom'。我在gemfile中指定我的Ruby版本,我的计算机,gemfile和Heroku似乎都匹配Ruby版本号,但不是补丁号。

其他帖子建议将usr / bin / heroku指向特定的Ruby文件,但我不知道该怎么做(我的应用程序中没有Heroku bin)。这似乎是一个Ruby版本错误。我该如何解决这个问题?

class OrderItem < ActiveRecord::Base
  require 'SecureRandom'

  ...
end

Heroku日志:

/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.3/lib/active_support/dependencies.rb:229:in `require': No such file to load -- SecureRandom (LoadError)

的Gemfile:

source 'https://rubygems.org'
ruby '2.0.0'

命令行:

/ $ heroku run ruby -v
Running `ruby -v` attached to terminal... up, run.9318
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux]

/ $ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin12.5.0]

提前致谢。

1 个答案:

答案 0 :(得分:11)

实际名称为securerandom,全部为小写。 Linux文件系统通常区分大小写。

因此,请将您的要求更改为:

require 'securerandom'