Prisma 오류: 환경 변수를 찾을 수 없습니다: DATABASE_URL

Susan Sarandon
풀어 주다: 2024-10-31 08:14:30
원래의
179명이 탐색했습니다.

Prisma error: Environmental variable not found: DATABASE_URL

Prisma의 "환경 변수를 찾을 수 없음: DATABASE_URL" 오류 해결

Prisma로 작업할 때 변수가 .env 파일에 명확하게 정의되어 있는 경우에도 실망스러운 "환경 변수를 찾을 수 없음: DATABASE_URL" 오류가 발생할 수 있습니다. 이 오류는 일반적으로 Schema.prisma 파일과 환경 변수 사이의 연결이 끊어져 Prisma가 데이터베이스 연결 세부 정보에 액세스할 수 없다는 신호입니다.


1단계: .env 파일 확인

첫 번째 단계는 DATABASE_URL 변수가 올바르게 정의되었는지 확인하는 것입니다. 루트 디렉터리에서 .env 파일을 열고 다음을 확인하세요.

  1. 존재 여부: DATABASE_URL 변수가 있는지 확인하세요.
  2. 올바른 값: 연결 문자열이 정확하고 형식이 다음과 같은지 확인하세요.
   DATABASE_URL="mydatabaseurlstring"
로그인 후 복사
로그인 후 복사

오류 이해

DATABASE_URL이 올바르게 정의되었으나 오류가 지속되는 경우 Prisma가 해당 URL에 액세스하지 못할 수 있습니다. Prisma 클라이언트는 env() 함수를 사용하여 환경 변수를 통해 연결 URL을 검색하는 Schema.prisma 파일을 사용하여 구성합니다. Prisma가 클라이언트 생성 프로세스 중에 DATABASE_URL을 찾지 못하면 "환경 변수를 찾을 수 없습니다." 오류가 발생합니다.


해결책: npx prisma generate

프로젝트의 루트 디렉터리에서 다음 명령을 실행하세요.

npx prisma generate
로그인 후 복사
로그인 후 복사

이 명령은 Prisma 클라이언트를 재생성하여 Prisma가 .env 파일의 환경 변수를 다시 읽고 생성된 클라이언트 코드에 통합할 수 있도록 합니다.

이것이 효과적인 이유

이 명령은 Prisma 클라이언트를 다시 생성하여 Prisma가 스키마를 최신 상태로 유지하고 DATABASE_URL을 포함한 환경 변수에 액세스할 수 있도록 보장합니다.


추가 사례 시나리오

1. Next.js로 Prisma Studio 실행

환경 변수가 .env.local에 저장되어 있는 Next.js를 사용하는 프로젝트에서는 Prisma 명령을 실행하기 전에 이를 명시적으로 로드하세요.

   npm install -g dotenv-cli
   dotenv -e .env.local -- npx prisma studio
로그인 후 복사
로그인 후 복사

2. Next.js의 .env 대 .env.local

Next.js에서 .env.local의 이름을 .env로 바꾸면 때때로 Prisma 액세스 문제가 해결될 수 있습니다. Prisma는 기본적으로 .env에서 변수를 읽는 경우가 많으므로 이 파일로 표준화하면 호환성 문제를 방지할 수 있습니다.

3. Vercel 및 Vercel Postgres 사용

Vercel을 사용하고 있고 vercel pull을 사용하여 환경 변수를 .env.development.local로 가져온 경우 Prisma가 주로 이 파일에서 읽을 때 해당 변수를 .env에 복사하세요.

   cp .env.development.local .env
로그인 후 복사
로그인 후 복사

이제 다음과 같은 Prisma 명령을 실행해 보세요.

   npx prisma db pull
   npx prisma generate
   npx prisma migrate
로그인 후 복사

4. PrismaClient 가져오기 구문

다음과 같은 가져오기에서 @prisma/client/edge를 사용하는 경우:

   DATABASE_URL="mydatabaseurlstring"
로그인 후 복사
로그인 후 복사

다음으로 전환:

npx prisma generate
로그인 후 복사
로그인 후 복사

에지 버전 대신 @prisma/client를 사용하면 Prisma의 환경 변수 처리 불일치를 해결하는 데 도움이 될 수 있습니다.


향후 문제 예방

  1. 서버 다시 시작: .env 변경 후 서버를 다시 시작하면 새 변수가 로드됩니다.
  2. dotenv로 변수 로드: 환경 변수를 효과적으로 관리하려면 dotenv를 설치하세요.
   npm install -g dotenv-cli
   dotenv -e .env.local -- npx prisma studio
로그인 후 복사
로그인 후 복사

앱의 진입점(예: src/hooks.server.js)에 로드하세요.

   cp .env.development.local .env
로그인 후 복사
로그인 후 복사
  1. 경로 및 철자를 다시 확인하세요. .env 파일이 올바른 위치에 있고 변수 이름의 철자가 일관되게 입력되었는지 확인하세요.

해피해킹

PS: .env 파일 관리에 대한 자세한 내용을 보려면 공식 Prisma 문서 링크를 참조하세요.

위 내용은 Prisma 오류: 환경 변수를 찾을 수 없습니다: DATABASE_URL의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!