[mac, pnpm] Module '"@prisma/client"' has no exported member 'PrismaClient'. 에러

·2023년 12월 30일
1

nestjs

목록 보기
5/10

문제

이번에 새 사이드프로젝트를 Nestjs로 진행하면서 Prisma를 처음으로 사용해보는데, 시작하자마자 에러를 만났다. (M1 맥북프로)
분명 pnpm prisma generate 하면 명령어는 잘 실행이 되는데
default로 ./node_modules/.prisma/client 경로에 생긴다던 Prisma Client가 나는 제대로 안 생겼다.

아래와 같은 메시지가 나왔고,

✔ Generated Prisma Client (v5.7.1) to ./node_modules/.pnpm/@prisma+client@5.7.1_prisma@5.7.1/node_modules/@prisma/client

PrismaClient를 import 하려고 하면 자동완성까지 되면서

import { PrismaClient } from '@prisma/client';

이렇게 잘 import가 되는 것처럼 보였지만 빨간 줄이 그이고, PrismaClient가 없다고 경고가 떴다. 아래와 같은 에러 메시지!

Module '"@prisma/client"' has no exported member 'PrismaClient'.

실제로 경로를 따라 들어가보면 아무 내용도 없었다.


결론(해결방법)

prisma/schema.prisma 파일에

generator client {
  provider = "prisma-client-js"
}

에 아래처럼 output을 추가해서 수동으로 경로를 지정해준 뒤

generator client {
  provider = "prisma-client-js"
  output = "../node_modules/.prisma/client"
}

다시 prisma generate 명령어를 통해 클라이언트를 생성해주면 된다!
✔ Generated Prisma Client (v5.7.1) to ./node_modules/.prisma/client in 56ms

참고:
https://github.com/prisma/prisma/issues/2584
https://itprogramming119.tistory.com/entry/Yarn-Berry-Module-prismaclient-has-no-exported-member-PrismaClient-%ED%95%B4%EA%B2%B0


(24.02.18) 추가
tsconfig.json 에
"preserveSymlinks": true 옵션을 추가해두었던 것이 문제였던 것으로 보여 제거하고 테스트 중!

profile
백엔드 개발자. 공동의 목표를 함께 이해한 상태에서 솔직하게 소통하며 일하는 게 가장 즐겁고 효율적이라고 믿는 사람.

1개의 댓글

comment-user-thumbnail
2025년 5월 5일

시작부터 막혀서 욕하고 있다가
바로 해결되었습니다.
감사합니당

답글 달기