Windows环境执行yarn install报fatal error C1083 缺少nan.h文件
报错根因
symbology是包含C++原生代码的Node.js模块,编译时依赖NAN(Node.js原生抽象层)的头文件nan.h,你遇到的C1083错误就是编译阶段搜索不到该头文件导致的,常见原因是依赖拉取不全、node-gyp配置错误、Windows构建工具链不匹配。
可行解决步骤
- 先清理无效缓存:删除项目根目录下的
node_modules文件夹、yarn.lock文件,执行yarn cache clean清空yarn全局缓存。 - 预安装NAN依赖:执行
yarn add nan --dev将NAN库安装到项目开发依赖中,安装完成后可进入项目node_modules/nan目录,确认nan.h文件存在。 - 修正node-gyp配置:
- 执行
npm config get node_gyp,确认返回路径对应你安装的v8.3.0版本node-gyp的可执行文件路径,若不匹配则执行npm config set node_gyp "你的全局node-gyp安装路径\bin\node-gyp.js"修正 - 执行
npm config set python "你的Python3安装路径/python.exe",注意node-gyp v8.3.0仅兼容Python 3.6~3.9版本,不要使用Python2或高于3.9的Python3版本
- 执行
- 确认Windows构建工具配置:如果未安装Visual Studio C构建工具,执行
npm install -g windows-build-tools --vs2019安装,安装时确保勾选「C桌面开发」组件,安装完成后重启终端。 - 重新安装依赖:执行
yarn install重新拉取所有项目依赖,此时symbology编译时会自动读取项目本地的nan.h文件,不会再触发报错。
若执行上述步骤仍报错,可在项目根目录新建
.npmrc文件,添加配置nan = ./node_modules/nan强制指定头文件搜索路径,再重新执行安装即可。
内容的提问来源于stack exchange,提问作者Rabbani Shaik
相关产品推荐
相关产品推荐

