You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 23.04下使用tilemaker托管瓦片报错求助

问题解决:运行tilemaker的server.rb时出现NameError错误

错误根源

你碰到的undefined local variable or method 'null'错误,核心原因是Ruby语言中不存在null关键字(Ruby用nil表示空值),说明你下载的server.rb文件存在语法问题——大概率是文件内容混入了其他语言的写法,或是下载的文件不完整、版本与tilemaker不兼容。

正确操作步骤

  1. 获取官方匹配的server.rb文件
    不要随意下载第三方的server文件夹,直接从tilemaker官方仓库获取对应版本的server.rb:

    • 找到tilemaker官方代码仓库的server目录,复制其中server.rb的完整代码
    • 在本地新建server.rb文件,将复制的代码粘贴进去
  2. 确认依赖安装完整
    确保已安装所有必要的Ruby依赖:

    sudo apt install ruby ruby-dev
    gem install sinatra sqlite3
    
  3. 正确启动服务
    在server.rb所在目录执行命令:

    ruby server.rb croatia.mbtiles
    
  4. 验证服务状态
    打开浏览器访问http://localhost:8080,检查瓦片是否能正常加载。

额外排查点

  • 若仍报错,检查croatia.mbtiles文件路径是否正确,或文件是否损坏(可执行sqlite3 croatia.mbtiles命令查看数据库结构,确认存在tiles表)
  • 确认Ruby版本:Ubuntu 23.04自带的Ruby版本为3.1.x,需确保与server.rb要求的版本兼容

内容的提问来源于stack exchange,提问作者watbywbarif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:27:06