0

过去几天我一直在尝试让 node-mapnik 运行,但没有成功。

最初受到 Wilhelm Berg 的演示 ( https://www.youtube.com/watch?v=GlTaRpg3CbQ ) 的启发,该演示使用 node-mapnik 呈现纯矢量地图,我有兴趣让它在 Windows Server 上运行。

我已经处理了关于这些主题的所有 StackExchange 问题,包括 Wilhelm 的清单,以使其在 Windows 7 x64 上运行,但我处于死胡同,我的知识在进一步诊断问题方面确实有限。

我的环境是:

  • Windows 2008 服务器 R2 x64
  • Visual Studio Express 2012 桌面版(32 位和 64 位)
  • Node.js v0.10.26(64 位)
  • Python27(32 位)


我已采取以下步骤:

  1. 安装从 git 下载的 Mapnik 2.2.0 SDK 并放置在 C:\apps\mapnik-v2.2.0


  2. 添加到路径:

    C:\apps\mapnik-v2.2.0\lib

    C:\apps\mapnik-v2.2.0\bin


  3. 安装 Python v2.7 (32bit) 下载并放置在 C:\apps\python27


  4. 添加到路径:

    C:\apps\python27

    C:\apps\python27\scripts


  5. 添加到 PYTHONPATH:

    C:\apps\Python27\Lib; C:\apps\Python27\DLLs;

    C:\apps\Python27\Lib\lib-tk;

    C:\apps\mapnik-v2.2.0\python\2.7\site-packages;


  6. 使用 VS 2012 重建 node-gyp

    节点gyp重建--msvs_version=2012


  7. 下载并安装 protobuf(32 位)并放在 c:\apps\protobuf


  8. 添加到路径:

    c:\apps\protobuf


  9. 使用 NPM 安装 protobuf

    npm install protobuf --msvs_version=2012


  10. 使用 git 下载开罗

    git clone git://anongit.freedesktop.org/git/cairo


  11. 将 Cairo 文件复制到 mapnik:

    将 cairo\src\cairo-svg-surface.c 复制到 C:\apps\mapnik-v2.2.0\include

    将 cairo\src\cairo-svg.h 复制到 C:\apps\mapnik-v2.2.0\include

    将 cairo\src\cairo-svg-surface-private.h 复制到 C:\apps\mapnik-v2.2.0\include


  12. 使 proj4 epsg 文件可用:

    SET PROJ_LIB=C:\apps\mapnik-v2.2.0\share\proj


  13. 尝试安装 node-mapnik

    npm install node-mapnik --msvs_version=2012


我收到以下错误:

节点预gyp错误!需要源编译:404 状态代码下载 tarball ... mapnik_grid.cpp c:\users\administrator\node_modules\node-mapnik\build\release\obj\global_interm ediate\vector_tile.pb.h(9):致命错误 C1083:无法打开包含文件:'googl e/protobuf/stubs/common.h':没有这样的文件或目录(C:\Users\Administrator\n ode_modules\node-mapnik\build\Release\obj\global_intermediate\vector_tile.pb。 cc ) [C:\Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] c:\users\administrator\node_modules\node-mapnik\src\utils.hpp(11):致命错误 C1083:无法打开包含文件:'mapnik/unicode.hpp':没有这样的文件或目录 y (..\src\mapnik_geometry.cpp) [C:\Users\Administrator\node_modules\node-mapnik \build\mapnik.vcxproj] mapnik_layer.cpp mapnik_cairo_surface.cpp c:
mapnik_datasource.cpp C:\Users\Administrator\node_modules\node-mapnik\node_modules\mapnik-vector-tile \src\mapnik3x_compatibility.hpp(4):致命错误 C1083:无法打开包含文件:'mapnik/version.hpp':没有这样的文件或目录 (..\src\mapnik_color.cpp) [C:\Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj]
node_mapnik.cpp ..\src\mapnik_grid_view.cpp(9):致命错误 C1083:无法打开包含文件:'m apnik/grid/grid.hpp':没有这样的文件或目录 [C:\Users\Administrator\node_mo dules \node-mapnik\build\mapnik.vcxproj] mapnik_projection.cpp C:\Users\Administrator\node_modules\node-mapnik\node_modules\mapnik-vector-tile \src\mapnik3x_compatibility.hpp(4):致命错误 C1083:无法打开包含文件:'mapnik/version.hpp':没有这样的文件或目录 (..\src\mapnik_layer.cpp) [C:\Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj]
mapnik_feature.cpp ..\src\mapnik_grid.cpp(9):致命错误 C1083:无法打开包含文件:'mapnik /version.hpp':没有这样的文件或目录 [C:\Users\Administrator\node_modules\n ode- mapnik\build\mapnik.vcxproj] mapnik_palette.cpp ..\src\mapnik_image_view.cpp(11):致命错误 C1083:无法打开包含文件:'mapnik/color.hpp':没有这样的文件或目录 [C:\Users \Administrator\node_modu les\node-mapnik\build\mapnik.vcxproj] mapnik_vector_tile.cpp c:\users\administrator\node_modules\node-mapnik\src\utils.hpp(11):致命错误 C1083:无法打开包含文件: 'mapnik/unicode.hpp':没有这样的文件或目录 y (..\src\mapnik_cairo_surface.cpp) [C:\Users\Administrator\node_modules\node-m apnik\build\mapnik.vcxproj] mapnik_expression.cpp
mapnik_memory_datasource.cpp ..\src\mapnik_memory_datasource.cpp(3):致命错误 C1083:无法打开包含文件:'mapnik/version.hpp':没有这样的文件或目录 [C:\Users\Administrator\n ode_modules\node- mapnik\build\mapnik.vcxproj] c:\users\administrator\node_modules\node-mapnik\src\utils.hpp(11):致命错误 C1083:无法打开包含文件:'mapnik/unicode.hpp':没有这样的文件或目录 y (..\src\mapnik_feature.cpp) [C:\Users\Administrator\node_modules\node-mapnik\ build\mapnik.vcxproj] ..\src\mapnik_image.cpp(7):致命错误 C1083:不能打开包含文件:'mapnik/color.hpp':没有这样的文件或目录 [C:\Users\Administrator\node_modules\no de-mapnik\build\mapnik.vcxproj] C:\Users\Administrator\node_modules\node- mapnik\node_modules\mapnik-vector-tile \src\mapnik3x_compatibility.hpp(4):致命错误 C1083:无法打开包含文件:'mapnik/version.hpp':没有这样的文件或目录 (..\src\mapnik_datasource.cpp) [C:\Users\Administrator\node_modules\node-mapnik\build\mapnik. vcxproj] C:\Users\Administrator\node_modules\node-mapnik\node_modules\mapnik-vector-tile \src\mapnik3x_compatibility.hpp(4):致命错误 C1083:无法打开包含文件:'mapnik/version.hpp':否这样的文件或目录(..\src\mapnik_projection.cpp)[C:\Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] C:\Users\Administrator\node_modules\node-mapnik\node_modules\mapnik -vector-tile \src\mapnik3x_compatibility.hpp(4): 致命错误 C1083: 无法打开包含文件: 'mapnik/version.hpp': 没有这样的文件或目录 (..\src\mapnik_palette.cpp) [C:\Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] C:\Users\Administrator\node_modules\node-mapnik\node_modules\mapnik-vector-tile \src\mapnik3x_compatibility.hpp(4):致命错误 C1083 :无法打开包含文件:'mapnik/version.hpp':没有这样的文件或目录 (..\src\node_mapnik.cpp) [C:\ Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] c :\users\administrator\node_modules\node-mapnik\src\utils.hpp(11): 致命错误 C1083: 无法打开包含文件: 'mapnik/unicode.hpp': 没有这样的文件或目录 y (..\src\ mapnik_vector_tile.cpp) [C:\Users\Administrator\node_modules\node-map nik\build\mapnik.vcxproj]mapnik/version.hpp': 没有这样的文件或目录 (..\src\node_mapnik.cpp) [C:\ Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] c:\users\administrator\node_modules \node-mapnik\src\utils.hpp(11): 致命错误 C1083: 无法打开包含文件: 'mapnik/unicode.hpp': 没有这样的文件或目录 y (..\src\mapnik_vector_tile.cpp) [C: \Users\Administrator\node_modules\node-map nik\build\mapnik.vcxproj]mapnik/version.hpp': 没有这样的文件或目录 (..\src\node_mapnik.cpp) [C:\ Users\Administrator\node_modules\node-mapnik\build\mapnik.vcxproj] c:\users\administrator\node_modules \node-mapnik\src\utils.hpp(11): 致命错误 C1083: 无法打开包含文件: 'mapnik/unicode.hpp': 没有这样的文件或目录 y (..\src\mapnik_vector_tile.cpp) [C: \Users\Administrator\node_modules\node-map nik\build\mapnik.vcxproj]vcxproj]vcxproj]

4

1 回答 1

0

node-mapnik 现在附带 Windows 二进制文件,因此不需要上述步骤。有关详细信息,请参阅https://github.com/mapnik/node-mapnik#installing

于 2014-11-02T15:53:34.410 回答