使用Vercel Postgres部署应用时缺失POSTGRES_URL_NON_POOLING变量报错
Vercel Postgres + Prisma + Next-Auth 部署时缺失POSTGRES_URL_NON_POOLING环境变量的问题
我在Vercel上部署应用,使用其全新的Postgres数据库插件,部署前遇到如下构建错误:
Error: Prisma schema validation - (get-config wasm)
Error code: P1012
error: Environment variable not found: POSTGRES_URL_NON_POOLING.
--> schema.prisma:8
|
7 | url = env("POSTGRES_URL")
8 | directUrl = env("POSTGRES_URL_NON_POOLING")
按照预期,关联数据库后Vercel应该自动设置这些环境变量,但现在变量缺失,且我无法修改这些变量(除非断开应用与数据库的关联)。想问问有没有同样使用Vercel Postgres DB、Prisma(ORM)数据库适配器、Next-Auth的用户遇到过这个问题?
可能的解决方向
- 重新关联数据库:有时候Vercel的环境变量同步会有延迟,尝试断开当前数据库关联,再重新连接到项目,触发变量自动注入。
- 升级Prisma版本:旧版Prisma对Vercel Postgres的自动变量支持存在兼容问题,升级到最新稳定版的
@prisma/client和prisma依赖后,问题大概率能解决。 - 手动补全环境变量:从Vercel Postgres插件的「Connection Strings」中复制「Direct URL」,手动添加为项目的
POSTGRES_URL_NON_POOLING环境变量(注意区分生产/开发环境)。后续数据库信息更新时,需要同步更新这个变量。 - 检查Next-Auth配置:确认Next-Auth的Prisma适配器配置没有覆盖或干扰环境变量的读取逻辑,确保适配器正确初始化Prisma客户端。
不少使用Vercel Postgres + Prisma + Next-Auth的用户都遇到过类似问题,主要诱因包括数据库关联后的首次部署延迟、环境变量同步故障、Prisma版本兼容问题这几类。
内容的提问来源于stack exchange,提问作者Doolan
相关产品推荐
相关产品推荐

