【问题标题】:Ruby Sinatra Compile Error : Server handler (thin,puma,reel,HTTP,webrick) not found. (RuntimeError)Ruby Sinatra 编译错误:找不到服务器处理程序(thin、puma、reel、HTTP、webrick)。 (运行时错误)
【发布时间】:2021-08-09 10:29:48
【问题描述】:

我是 Ruby Sinatra 的新手,我尝试使用以下代码使用 Sinatra 构建一个简单的 Web 应用程序:

require 'rubygems'
require 'sinatra'

get '/firstapp' do
    "Welcome to my first Sinatra App !"
end

当我尝试在 windows 命令提示符下使用命令“ruby file.rb”运行它时,出现错误:

C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1755:in `detect_rack_handler': Server handler (thin,puma,reel,HTTP,webrick) not found. (RuntimeError)                                             
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/sinatra-2.1.0/lib/sinatra/base.rb:1493:in `run!'                                                                                                                       
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/sinatra-2.1.0/lib/sinatra/main.rb:45:in `block in <module:Sinatra>'

当我安装 sinatra 时,我忘记将路径设置为 C:(ruby 安装目录)\bin。我在安装sinatra后设置了路径

我不知道发生了什么。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 看起来 Rack 找不到网络服务器。按照Sinatra intro guide 中的建议尝试gem install thin
  • @mcfinnigan 成功了!非常感谢您的帮助,不胜感激!

标签: ruby web-applications rubygems webserver sinatra


【解决方案1】:

安装最后一个 gem 使用

$ gem install thin
$ gem install puma
$ gem install reel
$ gem install http
$ gem install webrick

为我工作

【讨论】:

    【解决方案2】:

    我在使用 Gemfile 管理我的 gem 时遇到了这个问题,如果您遇到这种情况,而不是像 @yaya-hc 建议的那样使用 gem install,您可以将它们添加到您的 Gemfile 中

    gem thin
    gem puma
    gem reel
    gem http
    gem webrick
    

    然后运行bundle install 并重试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2015-10-30
      • 2019-04-23
      • 1970-01-01
      相关资源
      最近更新 更多