我的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]
提前致谢。
答案 0 :(得分:11)
实际名称为securerandom
,全部为小写。 Linux文件系统通常区分大小写。
因此,请将您的要求更改为:
require 'securerandom'