You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Laravel CoreUi Admin模板时node-gyp@3.8.0构建失败如何解决

问题根因

本次报错是node-sass依赖的node-gyp@3.8.0仅兼容Python2.7,内置脚本使用了Python2特有的无括号print语法,运行在Python3环境下触发语法错误。

1. sys.version_info 正确语法

Python2和Python3通用的sys.version_info调用写法如下:

import sys
# 索引写法,兼容所有Python版本
python_major_version = sys.version_info[0]
python_minor_version = sys.version_info[1]

# 属性写法,Python 2.7及以上版本支持,可读性更高
python_major_version = sys.version_info.major
python_minor_version = sys.version_info.minor

旧版node-gyp@3.8.0中的错误写法为print sys.version_info,Python3环境下必须改为带括号的print(sys.version_info)才能正常运行。

2. 切换最新版node-gyp完成构建的方案

方案1:强制npm使用全局最新版node-gyp

  • 全局安装最新版node-gyp
npm install -g node-gyp@latest
  • 配置npm调用全局版本的node-gyp
npm config set node_gyp "$(npm prefix -g)/lib/node_modules/node-gyp/bin/node-gyp.js"
  • 清理缓存后重新安装依赖
npm cache clean --force
rm -rf node_modules package-lock.json
npm install

方案2:替换node-sass为sass(推荐长期使用)

node-sass已经官方停止维护,纯JS实现的sass包完全兼容其语法,不需要编译原生模块,也不会依赖旧版node-gyp,操作步骤:

npm uninstall node-sass
npm install sass --save-dev

替换后不需要修改现有业务代码,还能避免后续Node版本升级带来的编译兼容问题。

方案3:临时指定Python2.7路径(仅应急使用)

如果暂时不想调整依赖,可以在本地安装Python2.7后,给npm指定对应Python路径:

npm config set python /你的Python2.7安装路径/python

配置完成后重新执行npm install即可。

内容的提问来源于stack exchange,提问作者B L Praveen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:48:02