Ruby 需要时Heroku加载错误?
我的Ruby应用程序在nitrous.io框上运行良好,但当我将其推送到Heroku并尝试运行计划进程时,日志显示此错误:Ruby 需要时Heroku加载错误?,ruby,heroku,Ruby,Heroku,我的Ruby应用程序在nitrous.io框上运行良好,但当我将其推送到Heroku并尝试运行计划进程时,日志显示此错误: 2013-12-23T22:37:11.902160+00:00 heroku[scheduler.4283]: State changed from starting to up
2013-12-23T22:37:11.902160+00:00 heroku[scheduler.4283]: State changed from starting to up
2013-12-23T22:37:12.178751+00:00 app[scheduler.4283]: from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
2013-12-23T22:37:12.178751+00:00 app[scheduler.4283]: from /app/bin/rbtc:3:in `<main>'
2013-12-23T22:37:12.178751+00:00 app[scheduler.4283]: /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require': cannot load such file -- rbtc_arbitrage (LoadError)
2013-12-23T22:37:13.432972+00:00 heroku[scheduler.4283]: Process exited with status 1
2013-12-23T22:37:13.461438+00:00 heroku[scheduler.4283]: State changed from up to complete
我尝试将此更改为require\u relative
,作为对堆栈溢出上其他人的回答,但没有成功
我在这里有点不知所措。感谢您的帮助 请确保此文件存在:
lib/rbtc\u套利.rb
它会像这样加载回购协议中的其他文件(如果您使用bundler,则语法有效):
现在,添加此文件应该可以单独工作,但如果不起作用,请尝试将lib
目录添加到bin/rbtc
文件的加载路径中,然后再添加任何require
语句,如下所示:
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')
这明确告诉ruby将
lib
目录添加到加载路径,应该可以解决您的问题。请在/app/bin/rbtc:3
require 'rbtc_arbitrage/version'
require 'rbtc_arbitrage/file1'
# .. and so on
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', 'lib')