orb*_*ion 2 ruby rack openstreetmap mbtiles
我不是 Ruby 人,所以这可能是一个 101 问题。我只是想使用一个用 Ruby 编写的实用程序。
我正在使用tilemaker,它是openstreetmap生态系统中的一个实用程序。它以 mbtiles 格式创建图块。该存储库附带了一个简单的实用程序,可以在浏览器上提供图块以测试您创建的文件。这个实用程序是用 Ruby 编写的,也是我遇到的问题。
该存储库的自述文件包含服务器实用程序的说明。安装说明如下:
(如果您还没有安装它们,则需要安装 Ruby 和运行演示服务器所需的 gem。例如,在 Ubuntu 上,
sudo apt install sqlite3 libsqlite3-dev ruby ruby-dev然后安装sudo gem install sqlite3 cgi glug rack。)
我使用的是 Debian 11(在 Qubes 上,所以我不介意按照他们的建议运行 sudo gem install)。我希望这与 Ubuntu 足够接近,但也许这与问题有关。
这就是我得到的:
$ ruby server.rb ~/countries-raster.mbtiles
Starting local server
Traceback (most recent call last):
3: from server.rb:22:in `<main>'
2: from server.rb:118:in `<class:MapServer>'
1: from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require'
/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:85:in `require': cannot load such file -- rack/handler (LoadError)
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?谢谢。
问题似乎在于您正在使用 3.X 版本的rack.
根据变更日志,从版本 3.0 开始,Rack::Handler它已被删除rack并拉出到自己的 gem ( rackup) 中。
要解决此问题,您需要使用旧版本的机架
gem 'rack', '~> 2.2'
Run Code Online (Sandbox Code Playgroud)
或者您需要添加rackup gem 作为依赖项:
gem 'rack'
gem 'rackup'
Run Code Online (Sandbox Code Playgroud)
任一选项都将提供对rack/handler:
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |