I’m experiencing a Prisma initialization error in the Vercel deployment environment. The build logs show the error persisting despite prisma generate
running successfully.
What i am running:
- Framework: Next.js 14
- Database: PostgreSQL
- Prisma version: 5.7.0
- Node.js version: 18.x
- Deployment Platform: Vercel (Hobby plan)
Setup:prisma/schema.prisma:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
lib/prisma.ts:
import { PrismaClient } from '@prisma/client'
let prisma: PrismaClient
if (process.env.NODE_ENV === 'production') {
prisma = new PrismaClient({
log: ['error'],
errorFormat: 'minimal',
})
} else {
if (!(global as any).prisma) {
(global as any).prisma = new PrismaClient({
log: ['error'],
errorFormat: 'minimal',
})
}
prisma = (global as any).prisma
}
export default prisma
package.json scripts:
{
"scripts": {
"build": "npm run generate && next build",
"generate": "npx prisma generate",
"postinstall": "npm run generate"
}
}
I'll help you draft a clear and detailed community post. Here's a suggested format for your GitHub discussion:
```markdown
## Prisma Client Initialization Error in Vercel Deployment
### Description
I'm experiencing a Prisma initialization error in the Vercel deployment environment. The build logs show the error persisting despite `prisma generate` running successfully.
### Environment
- Framework: Next.js 14
- Database: PostgreSQL
- Prisma version: 5.7.0
- Node.js version: 18.x
- Deployment Platform: Vercel (Hobby plan)
### Current Setup
**prisma/schema.prisma:**
```prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
lib/prisma.ts:
import { PrismaClient } from '@prisma/client'
let prisma: PrismaClient
if (process.env.NODE_ENV === 'production') {
prisma = new PrismaClient({
log: ['error'],
errorFormat: 'minimal',
})
} else {
if (!(global as any).prisma) {
(global as any).prisma = new PrismaClient({
log: ['error'],
errorFormat: 'minimal',
})
}
prisma = (global as any).prisma
}
export default prisma
package.json scripts:
{
"scripts": {
"build": "npm run generate && next build",
"generate": "npx prisma generate",
"postinstall": "npm run generate"
}
}
Steps Already Taken
- Added Prisma generate to build script
- Implemented singleton pattern for Prisma client
- Added postinstall script
- Verified DATABASE_URL is set correctly
- Confirmed Prisma generate runs successfully during build
Error Message
The build logs show Prisma generate completing successfully, but the application still fails with initialization errors in the Vercel deployment environment.
Question
Has anyone encountered similar issues with Prisma client initialization in Vercel deployments? Any suggestions for resolving this?
(error i’m facing)