我收到“Heroku推被拒绝,没有检测到Rails或Rack应用程序”错误带有Sinatra应用程序

时间:2011-08-16 23:53:24

标签: ruby heroku sinatra

我在这里使用了示例hello world app:

http://devcenter.heroku.com/articles/rack

并收到错误“Heroku推送被拒绝,没有检测到Rails或Rack应用” 帮助

3 个答案:

答案 0 :(得分:3)

您缺少config.ru个文件。你想要做的是创建一个如下所示的文件:(它应该在你的仓库的根目录中)

# config.ru
require './your/app/file'

run MyApp

...其中MyApp是您的Sinatra应用程序类。

需要时,请确保您的应用文件不会尝试启动(MyApp.run!)您的应用

# your_app_file.rb

class MyApp < Sinatra::Base
  ...
end

# Only run it when called as `ruby your_app_file.rb`
MyApp.run!  if $0 == __FILE__

答案 1 :(得分:1)

确保Gemfile

中有这些行
source 'http://rubygems.org'
gem 'sinatra'

然后:

bundle 

然后:

git push heroku master

答案 2 :(得分:0)

这发生在我身上。事实证明这是因为我在myproject / myapp /中初始化了Git存储库。 Heroku需要Git存储库在myapp /中。我删除了myproject /中的.git文件夹(从而删除了该存储库)并运行了

cd myapp
git init

之后,它运作得很好。