1

我是一个新人,试图用 Ruby 和 Sinatra 弄湿我的脚。我按照 Slicehost 文章安装了 Ruby 1.9.1 和 Thin 1.2.7 以及 Nginx 的反向代理。

在我尝试启动我的瘦服务器之前,大多数事情都很顺利。

这是我从日志中得到的输出:

$ sudo thin -C config.yml -R config.ru start
  /home/user/public_html/testapp/config.ru:9:in `block in <main>': undefined method `application' for Sinatra:Module (NoMethodError)
    from /var/lib/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval'
    from /var/lib/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize'
    from /home/user/public_html/testapp/config.ru:1:in `new'
    from /home/user/public_html/testapp/config.ru:1:in `<main>'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/rack/adapter/loader.rb:36:in `eval'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/rack/adapter/loader.rb:36:in `load'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/controllers/controller.rb:175:in `load_rackup_config'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/controllers/controller.rb:65:in `start'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:177:in `run_command'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:143:in `run!'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/bin/thin:6:in `<top (required)>'
    from /usr/bin/thin:19:in `load'
    from /usr/bin/thin:19:in `<main>'

我可以发布我的 config.yml、config.ru 和 myapp.rb,我的 Sinatra 代码所在的位置(基本上是从 Sinatra 书籍顶部撕下的示例代码),如果有人需要查看它,但如果你有任何想法关于基于该日志本身发生的事情,我将不胜感激,因为我在全球谷歌上找不到任何东西。

此外,这仍然是运行 Sinatra 的首选方式吗?

我可以让应用程序通过 Ruby 本身运行它:

$ ruby myapp.rb 
  == Sinatra/1.0 has taken the stage on 4567 for development with backup from Thin

这使我可以在我的沙箱中查看我的页面。

谢谢你们。

4

1 回答 1

2

每当您遇到问题并想知道它是否与 1.8 和 1.9 有关时,请查看以下站点:

http://isitruby19.com/thin

于 2010-03-25T11:19:20.177 回答