前言
当我第一次接触 node.js 时,差点被 node-sass 的安装问题搞的从入门到放弃。近日因为在做 electron 桌面端的开发,涉及 node-canvas ,又被 node-gyp 搞了次。特别记录下,希望能帮助遇到有类似问题的同学。
node-gyp
在开始环境配置前,先来谈下什么是 node-gyp ?
首先 node.js 是跨平台的应用,虽然表面上我们通过 require('fs') 调用了 js 原生 native 模块,其实它内部是由 builtin modules 提供相关支持,通常都是由 C++ 来编写的。
那如果我们用的一些第三方依赖,涉及 C++ 扩展怎么处理?这时候就需要一个中间人来帮我们编译这些代码,node-gyp 就是干这事的。
这就是为什么你安装 node-sass、node-canvas 有时会出错的原因,因为相关环境还有问题。
下面来看下,怎么通过几步来搞定 node-gyp 的平台环境。
windows-build-tools
像前面说的,为了能运行 C++ 代码,node-gyp 需要些三方环境的支持(Visual C++,python …),当然市面上有集成好的工具,让我们快速的准备好这些环境。<