2013-04-08 38 views
3

我有一個簡單的ruby(non-rails)應用程序,它使用resque,並且在heroku上沒有config.ru時不會啓動。對於heroku上的非Rails應用程序,config.ru有什麼用?

/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:133:in `to_app': missing run or map statement (RuntimeError) 
from /Users/nickkarrasch/Dropbox/Coding/Ruby/smsnotifyv2/config.ru:in `<main>' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:199:in `app' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:in `start' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:141:in `start' 
from /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.5.2/bin/rackup:4:in `<top (required)>' 
from /usr/local/Cellar/ruby/1.9.3-p194/bin/rackup:23:in `load' 
from /usr/local/Cellar/ruby/1.9.3-p194/bin/rackup:23:in `<main>' 

我需要什麼就擺在config.ru:當我運行rackup當本地添加config.ru文件我碰到下面的錯誤?

回答

5

該文件(config.ru)的內容,將取決於你實際上試圖做的,因爲你正在使用的框架只是用於配置機架應用,它告訴Rack::Builder什麼中間件應該按照哪個順序使用。這些都是一些Heroku的文檔for deploying rack applications.在所提供的例子:

西納特拉

require './hello' 
run Sinatra::Application 

Ramaze

require ::File.expand_path('./../hello', __FILE__) 
Ramaze.start(:file => __FILE__, :started => true) 
run Ramaze 

露營

require './hello' 
run Rack::Adapter::Camping.new(Hello) 
相關問題