Angular项目执行npm install失败,报gyp语法错误求助
Angular项目npm install失败的gyp错误解决办法
问题根源
报错信息明确显示:node-gyp调用Python 3.9执行代码时,用了Python 2的语法——print "%s.%s.%s" % sys.version_info[:3],但Python 3里print是函数必须加括号,因此触发语法错误。这是因为项目依赖的部分包依赖旧版node-gyp,默认走Python 2的执行逻辑,而你系统里只有Python 3.9。
可行解决方案
方案1:指定Python 2.7版本(如果能安装)
安装Python 2.7后,通过npm配置指定默认Python版本:npm config set python python2.7之后重新运行
npm install方案2:升级node-gyp到兼容Python 3的版本
- 全局升级node-gyp:
npm install -g node-gyp@latest - 清除npm缓存:
npm cache clean --force - 重新执行
npm install
- 全局升级node-gyp:
方案3:Windows环境临时指定Python 3配置
执行npm install前,先设置环境变量:set GYP_MSVS_VERSION=2019 set PYTHON=C:\Program Files\Python39\python.EXE set npm_config_python=C:\Program Files\Python39\python.EXE再运行
npm install方案4:用nvm管理Node版本(推荐)
旧版Node可能和新版Python不兼容,换适配的LTS版本试试:- 安装nvm后,切换到合适版本:
nvm install 18.17.0 nvm use 18.17.0 - 删除原有依赖和锁文件:
rm -rf node_modules package-lock.json - 重新执行
npm install
- 安装nvm后,切换到合适版本:
内容的提问来源于stack exchange,提问作者Muneeb Bashir
相关产品推荐
相关产品推荐

