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

Windows11下npm install报gyp退出码1 node-sass构建失败

问题根因
  • 版本适配不匹配:Node.js 16.15.0环境下,旧版本node-sass内置的node-gyp 3.8.0强依赖Python 2.x运行环境,无法兼容本地安装的Python 3.7。其内置的版本检测脚本为Python 2语法,用Python 3执行时会直接触发语法错误,最终导致build.js构建脚本执行失败,抛出gyp failed with exit code: 1、Build failed with error code: 1报错。
  • 无效操作说明:单独执行npm install gyp/npm i gyp安装的gyp包,并非node-sass构建流程依赖的node-gyp工具,不会参与node-sass的编译过程,因此无法解决问题,会持续复现相同报错。
解决方案

按优先级推荐以下两种方案,优先选第一种,不需要折腾本地编译环境,稳定性最高。

方案1:替换为官方推荐的dart-sass(首选)

node-sass已经官方废弃,目前推荐使用纯JS实现的sass(即dart-sass),完全兼容原有scss/sass语法,不需要本地C++编译环境,从根源规避gyp构建问题:

  • 卸载项目中已有的node-sass:执行 npm uninstall node-sass
  • 安装sass作为开发依赖:执行 npm install sass -D
  • 删除项目根目录下的node_modules文件夹和package-lock.json文件,重新执行npm install即可完成全量依赖安装,不会再触发编译报错。

方案2:保留node-sass,对齐所有环境依赖

如果项目有特殊要求必须使用node-sass,需要严格匹配版本并配置正确的编译环境:

  • 首先确认node-sass版本和Node.js版本对应关系:Node.js 16.x 仅兼容 node-sass@6.0.0 及以上版本,版本不匹配直接执行 npm install node-sass@6 -D 升级到兼容版本
  • 安装Windows平台编译依赖:以管理员身份打开终端,执行 npm install -g windows-build-tools,该工具会自动安装适配版本的Python 2.7、Visual Studio C++生成工具,自动配置好环境变量
  • 强制npm构建时使用Python 2.7:执行 npm config set python python2.7
  • 升级项目本地的node-gyp到兼容版本:执行 npm install node-gyp@8 -D
  • 清除缓存后重装:删除node_modules文件夹和package-lock.json,重新执行npm install即可。
避坑提示
  • Windows 11环境下如果安装windows-build-tools长时间卡住,可以手动安装Visual Studio 2022生成工具,安装时勾选「使用C++的桌面开发」组件,再手动安装Python 2.7并添加到系统PATH,效果完全一致。
  • 不要随意全局安装无关的gyp包,只会增加node_modules冗余,不会解决node-sass内置构建链的问题。

内容的提问来源于stack exchange,提问作者Faris Helmi Permana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:03:25