【问题标题】:Ruby 1.9.1 Installation on Debian在 Debian 上安装 Ruby 1.9.1
【发布时间】:2012-07-11 11:22:56
【问题描述】:

目前尝试在另一台机器上运行代码有点噩梦。作为我正在做的实习的一部分,我一直在开发 Sinatra 应用程序。我正在使用 ruby​​1.9.3(通过 RVM)在 Ubuntu 12.04 机器上进行开发。我的主管想在他的 Debian Squeeze 机器(开发服务器)上运行它。我在 Gemfile 中列出了所有必要的 gem,并推送了初始提交。但是,我们似乎无法让它在 Debian 机器上运行。

在我的主管意识到我们需要 Ruby1.9 及更高版本之前,最初安装了 Ruby1.8。 Ruby1.9.1-full debian 软件包已安装,但尝试使用 ruby1.9.1 application.rb 运行 Sinatra 应用程序无济于事。我添加了一些打印语句来调试它,并且 ruby​​ 解释器到达文件的末尾 - 问题是它没有启动 WEBrick。这个完全相同的代码在我的机器上运行没有问题,为什么在 Debian 上会出现这么大的问题?

注意:不建议切换到 RVM。我的主管坚持我们只使用官方包,所以这超出了我的控制范围。

【问题讨论】:

    标签: sinatra debian ruby-1.9


    【解决方案1】:

    我的 Sinatra 应用程序配置略有不同。也就是说,我不使用ruby application.rb 运行它们,而是有一个config.ru 文件,其中包含对Rack 中间件的说明。当我想运行我的应用程序时,我只需运行rackup,服务器就会启动。

    in the Sinatra Readme 所示的最小示例布局如下。

    一个基本的 Sinatra application.rb 文件:

    require 'sinatra'
    
    get '/' do
      'Hello world!'
    end
    

    还有config.ru

    require './application'
    run Sinatra::Application
    

    我真的不知道这是否或如何改变你的情况,但这是我首先想到的。


    附言

    现在我想到了,您可以尝试的另一件事是使用 WEBrick 以外的其他服务器。我想如果你添加

    gem 'thin'
    

    对于您的Gemfile,它应该自动使用 Thin。记得先重新运行bundle install

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      相关资源
      最近更新 更多