Отсутствует переменная среды DATABASE_URL для Prisma в Turborepo при развертывании.Javascript

Форум по Javascript
Ответить
Anonymous
 Отсутствует переменная среды DATABASE_URL для Prisma в Turborepo при развертывании.

Сообщение Anonymous »

Я пытаюсь развернуть интерфейс Next.js из моего монорепозитория Turborepo в Vercel. Развертывание завершается сбоем на этапе сборки, когда он пытается запустить prismagenerate.
Журнал ошибок ясно показывает, что переменная среды DATABASE_URL отсутствует, хотя она определена в моих локальных файлах .env, а также добавлена ​​​​переменная в настройки проекта Vercel.
Журнал ошибок от Vercel
@repo/db:build:
@repo/db:build: > @repo/db@ build /vercel/path0/packages/db
@repo/db:build: > prisma generate && tsc
@repo/db:build:
@repo/db:db:generate: [dotenv@17.2.3] injecting env (0) from .env.example -- tip: ⚙️ override existing env vars with { override: true }
@repo/db:db:generate: Failed to load config file "/vercel/path0/packages/db" as a TypeScript/JavaScript module. Error: PrismaConfigEnvError: Missing required environment variable: DATABASE_URL
@repo/db:db:generate:  ELIFECYCLE  Command failed with exit code 1.
@repo/db:db:generate: ERROR: command finished with error: command (/vercel/path0/packages/db) /pnpm10/node_modules/.bin/pnpm run db:generate exited (1)
@repo/db:build: [dotenv@17.2.3] injecting env (0) from .env.example -- tip: 🛠️ run anywhere with `dotenvx run -- yourcommand`
@repo/db:build: Loaded Prisma config from prisma.config.ts.
@repo/db:build:
@repo/db:build:  ELIFECYCLE  Command failed with exit code 130.
@repo/db#db:generate: command (/vercel/path0/packages/db) /pnpm10/node_modules/.bin/pnpm run db:generate exited (1)

packages/db/prisma.config.ts:

import "dotenv/config";
import { defineConfig, env } from "prisma/config";
import fs from "fs";
import dotenv from "dotenv";

if (fs.existsSync(".env")) {
dotenv.config({ path: ".env" });
} else {
dotenv.config({ path: ".env.example" });
}

export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
engine: "classic",
datasource: {
url: env("DATABASE_URL"),
},
});

А вот мой корень Turbo.json. Я также попробовал добавить сюда переменную среды.
turbo.json
{
"$schema": "https://turborepo.com/schema.json",
"ui": "tui",
"tasks": {
"build": {
"dependsOn": ["^build", "^db:generate"],
"inputs": ["$TURBO_DEFAULT$", ".env*"],
"outputs": ["dist/**", ".next/**", "!.next/cache/**"],
"env": ["DATABASE_URL", "FETCH_BASE_URL", "JWT_SECRET"]
},
"lint": {
"dependsOn": ["^lint"]
},
"check-types": {
"dependsOn": ["^check-types"]
},
"dev": {
"dependsOn": ["^db:generate"],
"cache": false,
"persistent": true
},
"db:generate": {
"cache": false
},
"db:migrate": {
"cache": false,
"persistent": true
},
"db:deploy": {
"cache": false
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... -deploying
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»