Евгений Колчугин
Мастер
(1104)
2 недели назад
Ошибка Cannot find module 'prisma/generated/client' возникает потому, что Prisma не может найти сгенерированный клиент после того, как вы переместили schema.prisma. Перемещение файла схемы само по себе не обновляет сгенерированный клиент. Вам нужно выполнить генерацию клиента заново.
Вот как это сделать:
Убедитесь, что prisma установлен: Проверьте, что вы установили Prisma CLI глобально или локально в вашем проекте. Если нет, выполните:
npm install -D prisma
Перейдите в корень вашего проекта: Убедитесь, что вы находитесь в директории, где находится файл package.json.
Запустите генерацию Prisma клиента: Выполните команду prisma generate. Это перегенерирует клиент в директории node_modules/.prisma/client. Обратите внимание, что prisma generate работает только если schema.prisma найден в директории, указанной в файле package.json.
Проверьте путь в package.json: Убедитесь, что путь к schema.prisma в package.json верный:
"prisma": {
"schema": "src/prisma/schema.prisma"
},
Проверьте путь к импорту: Убедитесь, что путь к импорту PrismaClient в вашем сервисе корректен. Он должен быть @prisma/client, а не prisma/generated/client. Исправьте импорт так:
import { Injectable, OnModuleInit } from "@nestjs/common";
import { PrismaClient } from "@prisma/client"; // ИЗМЕНЕНО
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
async onModuleInit() {
await this.$connect();
}
}
Перезапустите приложение: После успешной генерации и исправления импорта перезапустите ваше NestJS приложение.