Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Heroku Sinatra应用程序多次崩溃,无法使用控制台_Ruby_Heroku_Sinatra - Fatal编程技术网

Ruby Heroku Sinatra应用程序多次崩溃,无法使用控制台

Ruby Heroku Sinatra应用程序多次崩溃,无法使用控制台,ruby,heroku,sinatra,Ruby,Heroku,Sinatra,我在尝试将Sinatra应用程序部署到Heroku时遇到问题-这是我第一次使用Sinatra和Heroku 我有一个带一行的.gems文件:sinatra,还有一个带以下行的config.ru文件: require 'myapplication' run Sinatra::Application 推到heroku并导航到url后,我收到一个页面,上面显示应用程序崩溃,并显示以下文本: 此应用程序暂时不可用 离线。如果你是管理员 对于此应用程序,请检查您的heroku 回溯日志 heroku日志

我在尝试将Sinatra应用程序部署到Heroku时遇到问题-这是我第一次使用Sinatra和Heroku

我有一个带一行的.gems文件:sinatra,还有一个带以下行的config.ru文件:

require 'myapplication'
run Sinatra::Application
推到heroku并导航到url后,我收到一个页面,上面显示应用程序崩溃,并显示以下文本:

此应用程序暂时不可用 离线。如果你是管理员 对于此应用程序,请检查您的heroku 回溯日志

heroku日志的输出为:

2011-02-10T01:33:24-08:00 app[web.1]: from ./myapplication.rb:3 2011-02-10T01:33:24-08:00 app[web.1]: from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require'
2011-02-10T01:33:24-08:00 app[web.1]:   from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
require' 2011-02-10T01:33:24-08:00 app[web.1]: from config.ru:2 <-- TEXT SNIPPED --> 2011-02-10T01:33:24-08:00 app[web.1]: from /home/heroku_rack/heroku.ru:1:in `new' 2011-02-10T01:33:24-08:00 app[web.1]: from /home/heroku_rack/heroku.ru:1 2011-02-10T01:33:25-08:00 heroku[web.1]: State changed from starting to crashed 2011-02-10T01:33:32-08:00 heroku[nginx]: GET / HTTP/1.1 | 75.56.61.69 | 3310 | http | 500 其中,myapplication.rb的第3行是一个require'models',其中models.rb与myapplication.rb位于同一目录中

无论何时运行heroku控制台命令,我都会收到以下信息:

Your application is too busy to open a console session. Console sessions require an open dyno to use for execution. 我尝试了各种方法来消除这种情况,但还没有成功


谢谢你的帮助

我也有同样的问题,所以这不是一个完整的答案,但可能会有所帮助。如果您只是使用heroku日志,您只能获得大约20行或50行输出。您的错误跟踪看起来不像是从实际错误开始的,因为根据我有限的经验,它从实际错误开始,表明它不是源。如果您还没有,请尝试heroku logs-n 200或更多以获得更长的跟踪,并搜索Errno或ERROR等。这对解决控制台问题没有帮助,但至少可以告诉你为什么你的应用程序不工作。

我也有同样的问题,所以这不是一个完整的答案,但可能会有所帮助。如果您只是使用heroku日志,您只能获得大约20行或50行输出。您的错误跟踪看起来不像是从实际错误开始的,因为根据我有限的经验,它从实际错误开始,表明它不是源。如果您还没有,请尝试heroku logs-n 200或更多以获得更长的跟踪,并搜索Errno或ERROR等。它对控制台问题没有帮助,但至少它可能会告诉你为什么你的应用程序不工作。

如果你运行的Heroku堆栈使用Ruby 1.9.x,而不是旧的Ruby 1.8.x版本,请注意1.9的新require\u relative指令,必须使用它引用相对于当前文件的路径中的文件

这让我大吃一惊,因为我在本地使用1.8.x进行开发

如果希望它同时适用于1.8.x和1.9.x,可以执行以下操作:

require "#{File.dirname(__FILE__)}/another_referenced_rb_file_in_same_directory"

如果您运行的Heroku堆栈使用Ruby 1.9.x,而不是旧的Ruby 1.8.x版本,请注意1.9中新的require_relative指令,您必须使用该指令引用相对于当前文件的路径中的文件

这让我大吃一惊,因为我在本地使用1.8.x进行开发

如果希望它同时适用于1.8.x和1.9.x,可以执行以下操作:

require "#{File.dirname(__FILE__)}/another_referenced_rb_file_in_same_directory"

如果这样做没有帮助,你可以试试:给我们看myapplication.rb.Nakilon的第三行,这在文章中提到过。第三行是require'models',其中models.rb文件与myapplication.rb位于同一目录中。我曾考虑将models.rb文件折叠到这个示例应用程序的myapplication.rb文件中,但我认为这并不能解决问题。它是否在本地计算机上运行?仅供参考,Heroku建议使用Bundler和Gemfile,而不是.gems。请看。Steve,该应用程序在我的本地机器上运行正常-我没有使用Bundler和Gemfile,正如我提到的,我是ruby世界的新手-我将研究这些选项,谢谢。如果这样做没有帮助,你可以尝试:向我们展示myapplication.rb.Nakilon的第三行,这是在帖子中提到的。第三行是require'models',其中models.rb文件与myapplication.rb位于同一目录中。我曾考虑将models.rb文件折叠到这个示例应用程序的myapplication.rb文件中,但我认为这并不能解决问题。它是否在本地计算机上运行?仅供参考,Heroku建议使用Bundler和Gemfile,而不是.gems。Steve,这个应用程序在我的本地机器上运行的很好-我没有使用Bundler和Gemfile,正如我提到的,我是ruby世界的新手-我将研究这些选项,谢谢。