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

在Vercel部署集成Prisma的NestJS项目遇错误求助

在Vercel部署NestJS项目的问题排查方案

我在Vercel上部署NestJS项目时遇到错误,错误日志截图如下:
error message

已完成Prisma数据库部署,当前使用的vercel.json配置如下:

{
  "version": 2,
  "builds": [
    {
      "src": "src/main.ts",
      "use": "@vercel/node"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "src/main.ts",
      "methods": [
        "GET",
        "POST",
        "PUT",
        "PATCH",
        "OPTIONS",
        "DELETE",
        "HEAD",
        "CONNECT",
        "TRACE"
      ]
    }
  ]
}

以下是针对这类问题的常见排查与解决步骤:

  • 修正Vercel配置文件
    直接指向src/main.ts的配置不符合NestJS部署要求,Vercel Node运行时需要编译后的JS产物。修改vercel.json为:

    {
      "version": 2,
      "builds": [
        {
          "src": "dist/main.js",
          "use": "@vercel/node"
        }
      ],
      "routes": [
        {
          "src": "/(.*)",
          "dest": "dist/main.js"
        }
      ]
    }
    

    同时确认package.json的build命令正确:

    "scripts": {
      "build": "nest build",
      "start:prod": "node dist/main"
    }
    
  • 完善Prisma部署流程
    部署阶段需确保Prisma客户端正确生成,更新package.json的build命令,加入Prisma生成步骤:

    "scripts": {
      "build": "prisma generate && nest build",
      "start:prod": "node dist/main"
    }
    

    另外检查Vercel项目的环境变量,确认DATABASE_URL已正确配置,且与本地开发环境一致。

  • 适配Vercel无服务器环境
    NestJS默认HTTP服务器需调整为兼容Vercel的请求处理模式,修改src/main.ts导出适配函数:

    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    import { ExpressAdapter } from '@nestjs/platform-express';
    import * as express from 'express';
    
    const app = express();
    
    async function bootstrap() {
      const nestApp = await NestFactory.create(AppModule, new ExpressAdapter(app));
      await nestApp.init();
    }
    
    bootstrap();
    
    export default app;
    
  • 查看完整构建日志
    若上述步骤无效,查看Vercel构建日志的完整输出,重点关注依赖安装、代码编译、Prisma生成阶段的报错信息,这些细节能精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:47:19