使用sass/scss+fibers的Nuxt.js项目在Netlify部署失败问题咨询
问题根因与解决方案
根因分析
fibers依赖兼容性问题:fibers已停止维护,仅能在Windows、macOS等桌面本地环境正常运行,Netlify使用的Linux构建环境对fibers的支持存在原生缺陷,会在SCSS编译阶段触发内存溢出,对应报错日志中的exit code 134,这是本地运行正常、线上部署失败的核心原因。- Node版本配置未生效:package.json中的
engines配置仅做版本校验使用,Netlify默认不会读取该配置切换构建环境的Node版本,默认Node版本和本地版本不一致会进一步放大依赖兼容性问题。
修复步骤
- 移除fibers依赖,执行命令:
npm uninstall fibers
删除package.json的devDependencies中fibers相关条目,Nuxt 2.x无需fibers即可正常编译SCSS代码。 - 强制Netlify使用指定Node版本,二选一即可:
- 方案1:在项目根目录新建
.nvmrc文件,写入内容14.17.6,提交到代码仓库 - 方案2:进入Netlify站点后台,依次点击「站点设置」→「构建与部署」→「环境变量」,新增环境变量
NODE_VERSION,值设为14.17.6
- 清理Netlify构建缓存并重新部署:在部署页面选择「Clear cache and deploy site」,避免旧缓存的依赖干扰构建。
验证
修复完成后本地执行npm run generate确认无报错,推送代码后Netlify部署即可正常完成。
内容的提问来源于stack exchange,提问作者codycustard
相关产品推荐
相关产品推荐

