인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
prisma 버전 변경
작성
·
73
·
수정됨
0
prisma 버전이 바뀌었는지 현재 강의대로 진행하면 13:15 부터 진행하는 서버 실행이 아래 오류 메시지 던지면서 불가능해집니다.
어떤 버전으로 다운그레이드 해야하는지, 혹은 어떻게 해결하면 되는지 확인 부탁드립니다.
$ nest start file:///C:/Users/jw/Documents/GitHub/nest-js-core/dist/generated/prisma/client.js:38 Object.defineProperty(exports, "__esModule", { value: true }); ^ ReferenceError: exports is not defined in ES module scope at file:///C:/Users/jw/Documents/GitHub/nest-js-core/dist/generated/prisma/client.js:38:23 at ModuleJobSync.runSync (node:internal/modules/esm/module_job:436:37) at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:427:47) at loadESMFromCJS (node:internal/modules/cjs/loader:1561:24) at Module._compile (node:internal/modules/cjs/loader:1712:5) at Object..js (node:internal/modules/cjs/loader:1895:10) at Module.load (node:internal/modules/cjs/loader:1465:32) at Function._load (node:internal/modules/cjs/loader:1282:12) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) Node.js v22.17.0 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
답변 2
1
안녕하세요, 먼저 보내주신 에러 코드는 빌드된 폴더(dist)를 실행시키는 부분에서 오류가 발생한 것 같습니다.
빌드를 할 때 발생하는 에러는 없는지, 에러가 있다면 에러 코드가 무엇인지를 알려주시면 원인 파악에 보다 도움을 드릴 수 있을 것 같습니다. (빌드된 파일을 실행하는 과정에서의 오류는 디버깅을 하거나 원인을 파악하기가 어렵습니다. 워낙 다양한 케이스가 있다보니..) 혹은 깃허브 레포에 해당 시점의 코드들을 올려주시면 직접 디버깅 해보고 답변드리겠습니다.
추가로, 현재 에러가 해결되셨을지 모르겠으나 일단 버전을 맞춰보는 작업이 가장 간단하다보니 하기에 package.json 코드를 전달드립니다. (디버깅 과정 및 질답 과정이 번거로우시다면 먼저 버전을 맞춰 진행해보시는 걸 추천드립니다)
{
"name": "nestjs-core-guide",
"version": "0.0.1",
"description": "",
"author": "",
"private": true,
"license": "UNLICENSED",
"scripts": {
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "^11.0.1",
"@nestjs/core": "^11.0.1",
"@nestjs/jwt": "^11.0.0",
"@nestjs/passport": "^11.0.5",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/swagger": "^11.2.0",
"@prisma/client": "^6.12.0",
"bcrypt": "^6.0.0",
"express": "^5.1.0",
"passport-jwt": "^4.0.1",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
"@nestjs/cli": "^11.0.0",
"@nestjs/schematics": "^11.0.0",
"@nestjs/testing": "^11.0.1",
"@swc/cli": "^0.6.0",
"@swc/core": "^1.10.7",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/node": "^22.15.18",
"@types/passport-jwt": "^4.0.1",
"@types/supertest": "^6.0.2",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.2",
"globals": "^16.0.0",
"jest": "^29.7.0",
"prettier": "^3.4.2",
"prisma": "^6.12.0",
"source-map-support": "^0.5.21",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0"
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
}
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 리얀님.
Prisma 사용 시 현재 사용 중인 버전과 호환성 문제가 발생한 것으로 보입니다. 이는 보통 ESM과 CommonJS의 차이로 인해 발생하는 문제일 수 있습니다.
문제 해결 방법:
Package.json 설정 확인:
type필드가module으로 설정되어 있는 경우에는exports문법 관련 에러가 발생할 수 있습니다. 만약CommonJS형태로 작성된 모듈을 사용해야 한다면,type필드를commonjs로 설정하시거나 해당 옵션을 제거해 보세요.Prisma 버전 확인 및 설치
- 이전 버전으로 다운그레이드가 필요하다면,
npm install prisma@<version>또는yarn add prisma@<version>명령어를 사용하여 안정적으로 작동했던 이전 버전을 설치할 수 있습니다.
- 만약 사용 중이신 버전이 아닌 이전 버전의 기록을 확인하고 싶다면, 공식 문서 또는
npm view prisma versions명령어를 통해 참고할 수 있습니다.
- 이전 버전으로 다운그레이드가 필요하다면,
ESM 관련 설정 변경:
ESM을 지원하도록 설정을 맞추어 보세요.tsconfig.json파일에서module옵션을ESNext로 설정하거나, 다른 옵션들이 올바르게 설정되어 있는 지 확인하세요.
다음 유사한 질문을 참고하실 수 있습니다:
- Prisma 잘못된 버전 전환 문제 해결
- ES Module 및 CommonJS 호환 문제 다루기
문제를 해결하는 데 도움이 되었으면 좋겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




