从GitLab拉取Angular项目本地npm安装失败:node-gyp找不到Python
Angular项目npm install失败问题排查与解决
一、依赖弃用/安全警告汇总
- debug@4.1.1、debug@3.2.6存在低严重性ReDos回归问题,需升级至3.2.7或4.3.1版本
- node-fetch-npm@2.0.2已废弃,npm已改用minipass-fetch
- streamroller@1.0.6、log4js@4.5.1需升级至指定高版本
- querystring@0.2.0为Legacy API,建议替换为URLSearchParams
- uuid@3.3.3、axios@0.18.1存在安全问题或已废弃,需升级
- @schematics/update@0.803.25仅支持Angular v11及以下,建议升级Angular至v12+
- protractor@5.4.3已废弃,2023年夏季停止维护
- core-js@<3.23.3版本已停止维护,建议升级至最新版本
二、核心报错原因
npm install最终报错代码为1,问题出在grpc模块安装阶段:
node-pre-gyp无法找到适配grpc@1.24.2与node@16.15.0的预编译二进制文件, fallback到源码编译时,node-gyp无法找到可用的Python安装,导致编译失败。系统尝试查找多个路径下的Python均无法运行。
完整日志路径:C:\Users\komal\AppData\Local\npm-cache\_logs\2022-10-21T17_46_02_305Z-debug-0.log
三、解决方案
针对核心报错,可通过以下方式解决:
- 安装Python环境:安装最新版本的Python(推荐Python 3.7-3.9,适配node-gyp需求),安装时勾选"Add Python to PATH"选项
- 指定Python路径:若已安装Python但未加入PATH,执行以下npm命令指定路径:
npm config set python "C:\路径\到\python.exe" - 设置环境变量:添加系统环境变量
PYTHON,值为Python可执行文件的完整路径 - 升级grpc版本:考虑升级grpc至适配node@16的版本,避免源码编译需求
内容的提问来源于stack exchange,提问作者komal bhardwaj
相关产品推荐
相关产品推荐

