2011-07-03 51 views
0

我是ruby,git和heroku的新手。我正在嘗試構建一個簡單的Hello World應用程序並將其部署到heroku上。當我嘗試使用heroku提供的URL訪問網站時,我在日誌中看到以下錯誤。你能告訴我我做得不對嗎?在heroku上部署簡單的ruby sinatra應用時出現問題

2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /home/heroku_rack/heroku.ru:1:in `new' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /home/heroku_rack/heroku.ru:1:in `<main>' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/rack/adapter/loader.rb:36:in `eval' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/controllers/controller.rb:175:in `load_rackup_config' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/rack/adapter/loader.rb:36:in `load' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/controllers/controller.rb:65:in `start' 
    2011-07-03T01:15:06+00:00 app[web.1]: from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/thin-1.2.6/lib/thin/runner.rb:177:in `run_command' 
    2011-07-03T01:15:06+00:00 heroku[web.1]: Process exited 
    2011-07-03T01:15:07+00:00 heroku[web.1]: State changed from starting to crashed 

config.ru文件

require 'myapp2' 
    run Sinatra::Application 

myapp2.rb

require 'rubygems' 
    require 'sinatra' 

    get '/' do 
    'Hello World' 
    end 

回答

4

你錯過堆棧跟蹤的頂部,但它看起來像問題是require

config.ru變化

require 'myapp2' 

require './myapp2' 

require File.expand_path("../myapp2", __FILE__) 

紅寶石1.9.2不再具有在所述負載路徑中的當前目錄,因此require 'myapp2'是不能夠找到您的應用程序文件在同一目錄中。

如果這是工作在本地機器上,而不是在Heroku上,那麼你很可能使用不同版本的Ruby,大概1.8.7。最好在本地安裝1.9.2,以便在開發和生產中使用相同的版本。或者,您可以更改您使用的Heroku堆棧;看看the Heroku stack docs

+0

非常感謝。我會試試這個,讓你知道。 – Karthik

相關問題