Carto raises TypeError: Cannot read property 'hasOwnProperty' of undefined

Carto raises TypeError: Cannot read property 'hasOwnProperty' of undefined

我一直在关注这个教程: https://switch2osm.org/serving-tiles/manually-building-a-tile-server-20-04-lts/

并卡在 运行

carto project.mml > mapnik.xml

我的目标是设置 OSM 服务器 - 因此 carto 的预期行为是将 project.mml 编译为“准备渲染”mapnik.xml。

实际行为如下: Carto 引发错误:

ubuadmin@klab-osm:~/src/openstreetmap-carto$ carto -v
/usr/lib/nodejs/carto/lib/carto/tree/reference.js:19
    if (mapnik_reference.version.hasOwnProperty(version)) {
                                 ^

TypeError: Cannot read property 'hasOwnProperty' of undefined
    at Object.ref.setVersion (/usr/lib/nodejs/carto/lib/carto/tree/reference.js:19:34)
    at /usr/lib/nodejs/carto/lib/carto/tree/reference.js:209:5
    at Object.<anonymous> (/usr/lib/nodejs/carto/lib/carto/tree/reference.js:213:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)

我知道这个 Github 问题: https://github.com/gravitystorm/openstreetmap-carto/issues/3409 这个问题: TypeError: Cannot read property 'hasOwnProperty' of undefined node-carto 但没有发现它们有帮助。

我正在开发 Ubuntu 20.04 Focal Fossa,mapnik 版本是 0.1,由于上述错误,我无法检查 carto 版本。

诀窍是,由于公司政策,我正在使用的机器没有(也不会)连接到 Internet - 我通过 SSH 登录。因此,我使用 sudo apt install nodejs-carto insted npm install -g carto 安装了 carto - 公司在内部网的 Ubuntu 存储库上有镜像。

显然,问题是 carto 版本太低 - 更新到 carto@1.2.0 后问题消失了。