React模板npm install失败:Python可执行文件语法错误
解决npm install时node-gyp与Python版本不兼容的报错
报错原因
你遇到的问题是旧版node-gyp(v3.8.0)与Python 3.9语法不兼容:node-gyp执行了Python 2.x风格的print "%s.%s.%s" % sys.version_info[:3]语句,但Python 3中print是函数,必须写成print("%s.%s.%s" % sys.version_info[:3]),因此触发语法错误。同时你的Node.js v14.18.1搭配的旧版node-gyp对Python 3.x的支持不完善。
解决方法
方法一:指定Python 2.7版本(快速适配旧依赖)
- 安装Python 2.7(注意不要覆盖已安装的Python 3,安装时可选择自定义路径,比如
C:\Python27) - 运行命令配置npm使用Python 2.7:
npm config set python C:\Python27\python.exe - 删除项目目录下的
node_modules文件夹和package-lock.json,重新执行npm install
方法二:升级node-gyp版本(适配Python 3)
- 全局卸载旧版node-gyp:
npm uninstall node-gyp -g - 安装支持Python 3的最新版node-gyp:
npm install node-gyp@latest -g - 清理项目依赖缓存:删除
node_modules和package-lock.json,重新运行npm install
方法三:切换Node.js版本(长期稳定方案)
Node.js v14.x对Python 3的支持有限,建议使用nvm切换到v16及以上版本:
- 安装nvm后,执行命令切换版本:
nvm install 16 nvm use 16 - 清除npm缓存:
npm cache clean --force - 重新安装项目依赖:
npm install
内容的提问来源于stack exchange,提问作者phunder
相关产品推荐
相关产品推荐

