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

在Vercel部署Nest.js项目时Prisma Client过期问题求助

Nest.js + Prisma 部署Vercel时Prisma Client过期问题解决

问题原因

你当前的vercel.json配置存在问题:当指定src: "src/main.ts"并使用@vercel/node构建器时,Vercel会直接编译这个源码文件,不会自动执行package.json里的build脚本,导致你写的npx prisma generate根本没运行,自然无法生成最新的Prisma Client,就出现了日志里的过期提示。

解决方案

修改vercel.json配置,让Vercel执行你的build脚本,并指向编译后的产物:

{
  "version": 2,
  "builds": [
    {
      "src": "package.json",
      "use": "@vercel/node",
      "config": {
        "command": "npm run build"
      }
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "dist/main.js",
      "methods": ["GET", "POST", "PUT", "DELETE", "OPTIONS"]
    }
  ]
}

关键修改点:

  • builds部分:将src改为package.json,并通过config.command指定执行npm run build,这样Vercel会先跑你定义的build脚本(包含prisma generate),再处理产物。
  • routes部分:dest从src/main.ts改成dist/main.js,因为nest build会把编译后的代码输出到dist目录,部署时应该用编译后的产物而非源码。

额外注意事项

  • 如果prisma在你的devDependencies里,需要在Vercel项目的Settings → General → Build & Development Settings中,把Install Command改成npm install --include=dev,否则构建时找不到prisma命令。
  • 也可以直接把prisma移到dependencies中,避免安装依赖时的权限问题。

内容的提问来源于stack exchange,提问作者Mohammad ARZ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:05:14