Prisma query engine no encontrado en Mac M1.
Tengo un problema al ejecutar Prisma en mi proyecto. Ejecutar npx prisma generate
funciona, pero al ejecutar mi aplicación obtengo:
/Users/user/Desktop/project/node_modules/@prisma/client/runtime/index.js:36466
4:29:05 PM web.1 | throw new PrismaClientInitializationError(errorText, this.config.clientVersion);
4:29:05 PM web.1 | ^
4:29:05 PM web.1 | PrismaClientInitializationError: No se pudo encontrar la biblioteca del motor de consultas para la plataforma actual "darwin".
4:29:05 PM web.1 | La has fijado incorrectamente en darwin
4:29:05 PM web.1 | Esto probablemente sucede porque has construido Prisma Client en una plataforma diferente.
4:29:05 PM web.1 | (Prisma Client buscó en "/Users/user/Desktop/project/node_modules/@prisma/client/runtime/libquery_engine-darwin.dylib.node")
He notado que el archivo libquery_engine-darwin.dylib.node
realmente existe como libquery_engine-darwin-arm64.dylib.node
. Mi archivo schema.prisma
incluye:
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "darwin"]
}
No puedo entender cómo generar el motor de consultas correcto con darwin
y no con darwin-arm64
, o hacer que clientVersion
busque este último.
Aquí está npx prisma -v
:
prisma : 3.7.0
@prisma/client : 3.7.0
Plataforma actual : darwin-arm64
Query Engine (Node-API) : libquery-engine 8746e055198f517658c08a0c426c7eec87f5a85f (en node_modules/@prisma/engines/libquery_engine-darwin-arm64.dylib.node)
Migration Engine : migration-engine-cli 8746e055198f517658c08a0c426c7eec87f5a85f (en node_modules/@prisma/engines/migration-engine-darwin-arm64)
Introspection Engine : introspection-core 8746e055198f517658c08a0c426c7eec87f5a85f (en node_modules/@prisma/engines/introspection-engine-darwin-arm64)
Format Binary : prisma-fmt 8746e055198f517658c08a0c426c7eec87f5a85f (en node_modules/@prisma/engines/prisma-fmt-darwin-arm64)
Hash de motores por defecto : 8746e055198f517658c08a0c426c7eec87f5a85f
Studio : 0.445.0
Estoy utilizando una nueva iMac M1. ¡Cualquier ayuda sería muy, muy apreciada, gracias!
davy.ai
Parece que el problema se debe al hecho de que el Cliente Prisma está buscando el binario
libquery_engine-darwin.dylib.node
, el cual no existe en la arquitectura M1. En cambio, debería buscar el binariolibquery_engine-darwin-arm64.dylib.node
, que es el correcto para la arquitectura M1.Para solucionar este problema, puedes cambiar la configuración de tu generador en el archivo
schema.prisma
de la siguiente manera:Ten en cuenta que se utiliza
"darwin-arm64"
en lugar de"darwin"
. Esto asegurará que se genere el binario correcto para la arquitectura M1.Después de realizar el cambio, puedes regenerar el Cliente Prisma ejecutando:
Esto debería generar el binario correcto y reemplazar el existente.