Vercel部署Next.js应用时遇npm run build exited with 1错误求助
解决Next.js部署Vercel时「npm run build exited with 1」的问题
你遇到的核心问题并不是CI环境变量的设置,而是Next.js页面组件的导出规则不符合要求——构建日志明确指出pages/Editor/grapesUtils和pages/templates/grapesUtils这两个文件没有将React组件作为默认导出,这才是导致构建失败的直接原因。
具体修复步骤:
修改文件的导出方式:Next.js要求
pages目录下的页面文件必须默认导出一个React组件。检查这两个文件的代码,把命名导出改成默认导出:
比如原来的代码如果是这样的命名导出:export const GrapesUtilsComponent = () => { // 组件逻辑 };需要修改为默认导出:
const GrapesUtilsComponent = () => { // 组件逻辑 }; export default GrapesUtilsComponent;或者更简洁的写法:
export default () => { // 组件逻辑 };本地预验证:修改完成后,先在本地执行
npm run build命令,确认构建能够成功完成,再推送到Vercel部署,避免反复部署试错。关于CI环境变量:之前设置
CI=''或CI=false通常是用来跳过严格的lint检查,但这次的错误不属于lint范畴,而是Next.js页面路由的核心规则问题,所以这些设置无法解决当前问题。如果后续还有lint相关的构建错误,再考虑调整CI变量。
为什么会出现这个错误?
Next.js的页面路由机制依赖pages目录下的文件默认导出React组件,框架会自动识别这些默认导出的组件并映射为对应的路由页面。如果文件没有默认导出组件,构建过程中就会抛出错误,终止构建流程。
内容的提问来源于stack exchange,提问作者Anosha Sheikh
相关产品推荐
相关产品推荐

