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

通过Vercel部署Vue项目时出现node-sass构建报错如何解决

报错根因

该报错是node-sass版本与Vercel构建环境的Node版本不匹配导致的原生模块编译失败:
从日志可以看到Vercel构建时默认使用的是Node 16.14.0,但你项目依赖的node-sass@3.5.5版本过旧,不支持Node 16环境下的编译;你本地使用的Node 12.18.3和Vercel默认构建环境版本不一致,才会出现本地正常、部署失败的情况。

可落地修复方案
  • 优先方案(长期有效,无后续兼容问题):替换废弃的node-sass为官方推荐的sass(即dart-sass)
    node-sass已经停止官方维护,版本兼容、二进制下载类问题频发,替换后无需修改业务侧的sass/scss代码,操作步骤:
    1. 本地项目目录执行命令卸载旧依赖:npm uninstall node-sass
    2. 安装新的sass依赖:npm install sass --save-dev
    3. 将改动提交推送到代码仓库,重新触发Vercel部署即可。
  • 备选方案(不想替换依赖时使用):锁定Vercel构建环境的Node版本和本地一致
    在项目根目录新增.nvmrc文件,文件内写入你本地使用的Node版本号12.18.3;也可以直接在package.json中添加engines字段声明版本:
    {
      "engines": {
        "node": "12.18.3"
      }
    }
    
    Vercel构建时会自动读取该配置,使用对应版本的Node进行依赖安装和构建,匹配老版本node-sass的编译要求。注意Node 12已停止官方维护,长期来看仍建议迁移到dart-sass。

注意:不要尝试单独升级node-sass版本适配高版本Node,后续仍大概率出现二进制包下载失败、跨环境编译异常等问题,替换为dart-sass是目前前端项目的通用解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 09:27:35