Vercel部署NextJS新项目报错退出码1 忽略TS错误仍无法部署
问题定位步骤
- 首先在本地项目根目录执行
yarn build命令,本地构建会输出完整的错误栈,直接查看报错信息即可定位具体问题,Vercel未输出详细报错大概率是日志截断导致。 - 如果本地构建正常,可将Vercel的构建命令临时修改为
next build --debug后重新部署,输出更细粒度的构建日志排查问题。
常见解决方案
- ESLint校验拦截问题
Next.js 11默认在生产构建阶段开启ESLint校验,即使关闭了TypeScript类型校验,ESLint报错依然会导致构建失败,可在next.config.js中添加配置关闭ESLint构建校验:
module.exports = { typescript: { // !! WARN !! // Dangerously allow production builds to successfully complete even if // your project has type errors. // !! WARN !! ignoreBuildErrors: true, }, eslint: { ignoreDuringBuilds: true, }, };
- 构建缓存冲突问题
日志显示Vercel命中了历史构建缓存,缓存和当前代码不兼容也会导致无明确报错的构建失败,可在Vercel部署页面选择重新部署,勾选「Clear build cache」选项清空缓存后重新构建。 - Node版本兼容问题
检查本地开发使用的Node.js版本,在Vercel项目设置的「Node.js Version」选项中选择和本地一致的版本,避免版本差异导致的依赖兼容问题。 - 依赖完整性问题
删除本地的node_modules文件夹和yarn.lock文件,重新执行yarn install安装依赖后再尝试本地构建,排除依赖安装不完整的问题。
内容的提问来源于stack exchange,提问作者lebron
相关产品推荐
相关产品推荐

