本地pNpm构建正常,Vercel部署遇Static worker SIGTERM错误求助
Vercel部署Next.js失败:Static worker exited with SIGTERM 解决方法
问题重现
本地用pnpm执行build可成功构建,但Vercel部署时返回错误:
Static worker unexpectedly exited with code: null and signal: SIGTERM
确认代码仓库无.next文件夹,当前next.config.js配置如下:
/** @type {import('next').NextConfig} */ const nextConfig = { webpack: (config) => { config.module.rules.push({ test: /\.node$/, use: "node-loader", }); return config; }, images: { domains: ["https://firebasestorage.googleapis.com/"], }, }; module.exports = nextConfig;
解决步骤
修正图片域名配置错误
images.domains字段只需要填写域名,不需要带https://前缀,修改后:images: { domains: ["firebasestorage.googleapis.com"], },错误的URL格式会导致资源解析异常,可能触发构建worker意外退出。
调整webpack原生模块处理配置
Vercel构建环境对.node原生模块的支持有限,node-loader可能无法正常工作:- 检查项目依赖的
.node模块是否为Linux x64环境预编译(Vercel构建环境为Linux),如果没有预编译,尝试替换为纯JS替代方案。 - 可以在webpack配置中添加fallback处理,避免缺失模块导致崩溃:
webpack: (config) => { config.module.rules.push({ test: /\.node$/, use: "node-loader", }); // 禁用Node.js核心模块的fallback,避免构建报错 config.resolve.fallback = { ...config.resolve.fallback, fs: false, net: false, tls: false }; return config; },
- 检查项目依赖的
指定Vercel使用pnpm构建
在项目根目录创建vercel.json文件,明确指定包管理器命令:{ "installCommand": "pnpm install", "buildCommand": "pnpm build" }或者在Vercel项目控制台的「Build & Development Settings」中,手动设置Install Command为
pnpm install,Build Command为pnpm build。清理Vercel构建缓存
在Vercel部署页面点击「Redeploy」,选择「Clear build cache」后重新部署,避免缓存导致的异常。检查依赖版本兼容性
确保Next.js版本与Vercel支持的版本匹配,建议锁定稳定版本(如^13.4.0),避免使用过于老旧或未正式发布的版本。
内容的提问来源于stack exchange,提问作者Ted Vu
相关产品推荐
相关产品推荐

