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

Next.js+Prisma部署Vercel报错:Object literal仅能指定已知属性

解决Vercel部署Prisma新增字段后类型报错问题

问题原因

Vercel部署时未生成最新的Prisma客户端,导致代码里的新字段在类型校验时不被识别,本质是构建阶段没有同步更新Prisma的类型定义。

具体解决步骤

  • 本地预生成客户端并提交变更
    先在本地执行命令生成适配新Schema的Prisma客户端:

    npx prisma generate
    

    确保修改后的schema.prisma文件已经提交并推送到远程Git仓库,避免Vercel拉取旧代码。

  • 修改构建命令,强制生成客户端
    在项目根目录的package.json中,给build脚本添加prisma generate前置步骤:

    "scripts": {
      "dev": "next dev",
      "build": "prisma generate && next build",
      "start": "next start",
      "lint": "next lint"
    }
    

    Vercel部署时会自动执行npm run build,这样就能在构建Next.js项目前生成最新的Prisma客户端。

  • 清除Vercel构建缓存
    登录Vercel后台进入对应项目,找到Settings -> Git -> Build & Development Settings,点击Clear Cache按钮清除旧缓存,之后重新触发部署。旧缓存可能保留了之前的Prisma客户端文件,导致新字段不生效。

  • 锁定Prisma版本一致性
    确保package.json中prisma和@prisma/client的版本完全一致,避免本地与Vercel环境版本差异引发类型不兼容:

    "dependencies": {
      "@prisma/client": "5.10.2",
      // ...其他依赖
    },
    "devDependencies": {
      "prisma": "5.10.2",
      // ...其他依赖
    }
    

额外排查点

  • 查看Vercel部署日志,确认prisma generate命令是否执行成功,有无报错信息。
  • 本地模拟生产构建流程:执行npm run build后启动生产服务npm start,如果本地也出现相同错误,说明是构建脚本或本地配置问题,优先在本地排查。

内容的提问来源于stack exchange,提问作者Mohamadreza Kazemian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:05:18