node-gyp编译问题

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

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

  如果你从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/

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

  2.使用Windows应用商店安装

3.安装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 Studio2019EnterpriseMSBuildCurrentBinMSBuild.exe"

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

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

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

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

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

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

4.最好再给npm加个速,防止老是编译。

npm install -g mirror-config-china --registry=http://registry.npm.taobao.org
原文地址:https://www.cnblogs.com/fanqisoft/p/13171657.html