【发布时间】:2011-06-25 18:02:06
【问题描述】:
我一直在尝试在 Sinatra 上运行一个简单的 hello world web 应用程序。
我有以下设置:
-
config.ru
require 'hello.rb' run Sinatra::Application -
你好.rb
require "sinatra" get "/" do "Hello World!\n" end -
宝石文件
source :rubygems gem 'sinatra'
如果我运行 ruby hello.rb、ruby1.9.1 hello.rb 或 rackup 并在我的浏览器中转到正确的地址,这适用于我的本地计算机。但是,这在部署到 heroku 或运行 rackup1.9.1 时不起作用。我收到以下错误:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- hello.rb (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from config.ru:1:in `block in <main>'
from /usr/lib/ruby/1.9.1/rack/builder.rb:46:in `instance_eval'
from /usr/lib/ruby/1.9.1/rack/builder.rb:46:in `initialize'
from config.ru:1:in `new'
from config.ru:1:in `<main>'
from /usr/lib/ruby/1.9.1/rack/builder.rb:35:in `eval'
from /usr/lib/ruby/1.9.1/rack/builder.rb:35:in `parse_file'
from /usr/lib/ruby/1.9.1/rack/server.rb:113:in `app'
from /usr/lib/ruby/1.9.1/rack/server.rb:189:in `wrapped_app'
from /usr/lib/ruby/1.9.1/rack/server.rb:155:in `start'
from /usr/lib/ruby/1.9.1/rack/server.rb:83:in `start'
from /usr/bin/rackup1.9.1:4:in `<main>'
我怎样才能让它工作?我猜 config.ru 应该有所不同,但我不知道要更改什么。
【问题讨论】: