Windows系统下Node-gdal安装

2019-06-10  本文已影响0人  小水花花

gdal用于读写矢量和栅格数据集,gdal常常使用c,c++做开发,也有部分其他语言扩展如py,node。官方https://www.npmjs.com/package/gdal给出的安装方法跟其他node

module没有区别,用npm install gdal –save即可。但在实际安装中如果在windows系统下这个命令会各种报错,抛出的错误提示都有一两百行。

经查阅资料,发现这种情况通常是由于使用nodejs作为开发语言的程序员的电脑中,不一定会包含node-gdal安装及运行所需要的基础环境。本身就gdal而言,它是一个基于C/C++语言编写的用于读写空间数据的一套跨平台开源库,node将其封装成node-gdal,其底层还是在执行C++语言,因此即使是使用nodejs进行开发,本地也必须安装对应的C++的依赖。而由于在Node.js中,采用gyp构建工具进行构建C++代码,而GYP是基于Python2开发的,所以需要python,而且不支持3。综上,在windows系统上npm gdal时,需要C++及Python2x的环境依赖。

C++所需依赖,我们可以通过安装visual

studio2015(或者其他版本,推荐13-15)和 Python 2x(推荐2.7)来安装:

Python 2.7.15 :

链接:https://pan.baidu.com/s/1iBRlLuY6UzKhZkG3vdy_ZQ

提取码:8520

Visual studio

2015:

链接:https://pan.baidu.com/s/1_Y4VNxcrimeJmmG_UHaycw

提取码:724s

安装时需要注意,vs2015要将C++所需所有依赖全部勾选再选next,否则对于node-gdal的安装还是会有影响,如果安装时已经有部分没有安装或者因为C++环境报错,可以通过从vs2015新建一个C++项目的方式来补充安装,因为新建项目时如果缺乏部分依赖,vs2015会直接将缺乏的组件推荐安装。

当完成C++及Python2x的安装后,需要以管理员身份打开powershell进行安装,命令依然是npm I gdal –save(--save不要省略)以普通user身份打开的话会有权限报错。此外,安装过程时间较长,需耐心等待,不要退出或者关闭powershell。如果非全局安装,最后一步容易出错,致使node_modules\gdal\lib\binding\node-v59-win32-x64\下缺乏gdal.node,导致项目中引用此模块时报错,此时可以从node_modules\gdal\build\Release\下复制gdal.node过去,则问题解决。

需要注意的是,node-gdal安装完成大约占空间2.62G,所以建议全局安装。如果出现全局安装后,仍然报错Cannot find module 'gdal',需要检查下自己全局变量的路径是否在该工程下引用module的路径数组中,检查方法可以在工程下打开powershell,输入node进入控制台后输入console.log(module.paths)查看当前工程下node查找module的路径,如果其中没有全局npm的路径,则输入module.paths.push(‘’)来添加你的全局npm路径。完成后测试全局路径是否已经可用。

上一篇下一篇

猜你喜欢

热点阅读