
Recientemente estuve en el proceso auto educativo de construir una API con NEXT.js y el ORM de Prisma; la instalación del ORM fue un proceso muy sencillo, y su implementación también lo es, pero, por falta de atención al detalle me enfrenté con un error que me tomó un par de días solucionar.
El molesto error en consola de NEXT.js era:
Error: @prisma/client did not initialize yet. Please run "npx prisma generate" and try to import it again.
El mensaje anterior indicaba que el error dentro del código se encontraba en este punto:

Pero, como se ve en la imagen, el componente PrismaClient se importó antes de instanciar la clase, entonces, ¿Qué estaba mal? (Es importante mencionar que el comando “npx prisma generate” lo ejecuté tantas veces como artículos leí para encontrar la solución).
Pues bien, el problema viene desde el momento en el que se intenta importar el componente PrismaClient, como se evidencia en la imagen siguiente, existen tres componentes con el mismo nombre, expuestos desde diferentes rutas e importar el equivocado te puede generar dolores de cabeza.

En mi caso, estaba importando el siguiente componente:
import { PrismaClient } from "@prisma/client/extension";
La solución consistió en importar el correcto, el que tiene como origen "@prisma/client":
import { PrismaClient } from "@prisma/client"
Es decir que la solución es muy básica, pero requiere de un poco de atención al detalle y conocimiento del ORM.
Publicar un comentario