2

我正在尝试编写一个 Ruby Web 应用程序,并且我想使用 Sinatra 提供的功能。

我使用了这段代码:

  require 'rubygems'
  require 'sinatra'

  get '/' do
      'Hello, world!'
  end

我在浏览器中输入了 localhost:8080/?hello.rb 并收到一条错误消息,指出脚本无法找到 sinatra。我还尝试使用以下命令运行 sinatra 应用程序:

  ruby hello.rb 

这次成功了!所以我怀疑问题不在于我的代码,而在于我使用 G-WAN 为 Ruby 脚本提供服务的方式。

4

2 回答 2

3

Sinatra 期望由机架兼容的服务器运行,而 G-Wan 显然不是。当您手动运行脚本时,它是由与 Ruby 捆绑在一起的 WEBrick 服务器运行的。兼容服务器的示例是Thinunicorn或 apache/nginx 与phusion 乘客

于 2013-07-03T12:49:49.450 回答
2

Ruby(like Javaor PHP) 可能使用配置文件和/或环境变量来指定在哪里可以找到包、模块和库。

asm, C, C++, D, Objective-C, Java and C#虽然 G-WAN 收到了类似的支持请求,Ruby但到目前为止,用户并未表现出对该领域的兴趣。

如果您向我们指出相关的 Ruby 文档,我们将尝试添加此 Ruby 功能(就像为其他语言所做的那样)。

于 2013-07-03T12:42:00.603 回答