node-gyp编译问题

zuihaobushi 2020-06-21

我们经常使用 npm i xxx -S or yarn add xxx 甚至于使用脚手架会出现以下问题:

备注:以下是我使用umi脚手架创建AntD项目时出现的错误

node-gyp编译问题

如果你从npm拉下来的依赖是编译完成的文件,那么可以正常运行。但很多NodeJS Npm依赖是跨平台的,也就是说要不你去下载相关依赖在各个平台编译完成的文件,要不你自行编译。

如果此时你npm i xxx -S or yarn add xxx 出现上面的错误,那么说明你拉下了源码,此时需要你本机有node-gyp环境来将其编译为适合当前平台运行的文件。

node-gyp环境说明:https://github.com/nodejs/node-gyp/

  此文章针对官方及我所遇到的坑补充,首先node-gyp需要Ptthon及C/C++编译工具,其次,我的平台是Windows 10 2004 x64。

1.npm 全局安装node-gyp

npm install -g node-gyp

2.安装Python

1。使用官方安装包安装,我安装的是Python2【2.7.18,Python2最后一版】,我不做Python开发,所以没有Python3,开发用到的Python2比较多,例如React Native。【推荐】

https://www.python.org/downloads/release/python-2718/

需要注意的是安装时候勾选

node-gyp编译问题

2.使用Windows应用商店安装

node-gyp编译问题

2.安装C/C++编译工具。

1.如果你是.Net开发者,或者说你是用Visual Studio开发的开发人员。按照以下步骤进行设置

  1.指定VS版本

npm config set msvs_version 2019

  2.如果你是VS2017及以下版本,此步骤可省略

    因为VS2019的MSBuild.exe文件和之前版本的所在位置不同,因此,我们需要亲自指定【注意你的VS版本,可能与我的路径并不相同】

npm config set msbuild_path "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"

  3.安装Visual Studio C++ 相应的编译工具

    1、如果你是Visual Studio C++ 开发者,我想此处的依赖可能你已安装。【如果你已经勾选“使用C++的桌面开发”】

node-gyp编译问题

    2.如果你不是C++开发者(例如我),你只需要勾选以下两项即可。

node-gyp编译问题

node-gyp编译问题

2.如果你只是纯前端开发者,只需要安装C/C++编译器工具即可。

  使用Windows的PowerShell或CMD.exe(以管理员身份运行)通过安装Windows-Build-tools来获取所有必需的工具和配置

npm install --global --production windows-build-tools

相关推荐