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

Netlify从Github部署执行CI= npm run build时node-sass构建报错

问题结论

是的,本次报错完全由node-sass依赖版本与Netlify构建环境的Node版本不兼容导致。

报错原因

从你提供的日志和配置可以直接定位到问题根源:

  • Netlify构建环境使用的Node版本为v16.8.0
  • 你项目中安装的node-sass@5.0.0仅支持Node 10、12、14、15版本,完全不兼容Node 16,依赖安装阶段node-gyp编译二进制包失败,直接触发非零退出码终止构建。
    另外你当前的操作流程存在冗余:本地执行build后推送build文件夹到远端仓库是不必要的操作,Netlify会自动拉取源码执行构建流程生成站点产物。
解决方案

你可以任选以下一种方案修复问题:

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

dart-sass完全兼容node-sass的语法,不需要修改任何业务代码,也不存在版本兼容问题:

  • 卸载旧依赖:npm uninstall node-sass
  • 安装新依赖:npm install sass --save
  • 提交代码到Github重新触发Netlify部署即可

方案2:指定Netlify使用兼容node-sass@5的Node版本

如果你不想替换依赖,可以将Netlify的Node版本锁定为14.x版本:

  • 在项目根目录新建.nvmrc文件,文件内容写入14.20.0(任意14.x稳定版本均可)
  • 提交该文件到远端仓库,Netlify会自动识别并使用对应版本的Node执行构建
  • 你也可以直接在Netlify控制台的项目环境变量配置中,新增NODE_VERSION变量,值设为14,效果完全一致
优化建议

把build文件夹加入项目的.gitignore文件,不需要推送到远端仓库,减少仓库体积的同时也不会和Netlify自动构建的产物冲突。

内容的提问来源于stack exchange,提问作者Hithesh kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:06:03