我們經常使用 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 Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.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