docker PrismaClientInitializationError:找不到当前平台“linux-musl-arm 64-openssl-3.0.x”的查询引擎库

yuvru6vn  于 2023-08-03  发布在  Docker
关注(0)|答案(1)|浏览(193)

Prisma Client是在与运行平台不同的平台上构建的。
我使用的是m1 mac,我的docker镜像是node:19-alpine。
当我在Mac上运行Prisma -v时,我得到了这个配置:

  1. prisma : 4.13.0
  2. @prisma/client : 4.13.0
  3. Current platform : darwin-arm64
  4. Query Engine (Node-API) : libquery-engine 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a (at node_modules/@prisma/engines/libquery_engine-darwin-arm64.dylib.node)
  5. Migration Engine : migration-engine-cli 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a (at node_modules/@prisma/engines/migration-engine-darwin-arm64)
  6. Format Wasm : @prisma/prisma-fmt-wasm 4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a
  7. Default Engines Hash : 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a
  8. Studio : 0.484.0

字符串
当我在node:19-alpine容器中执行prisma-v时,我得到了这个:

  1. Environment variables loaded from .env
  2. prisma : 4.13.0
  3. @prisma/client : 4.13.0
  4. Current platform : linux-musl-arm64-openssl-3.0.x
  5. Query Engine (Node-API) : libquery-engine 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a (at node_modules/@prisma/engines/libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node)
  6. Migration Engine : migration-engine-cli 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a (at node_modules/@prisma/engines/migration-engine-linux-musl-arm64-openssl-3.0.x)
  7. Format Wasm : @prisma/prisma-fmt-wasm 4.13.0-50.1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a
  8. Default Engines Hash : 1e7af066ee9cb95cf3a403c78d9aab3e6b04f37a
  9. Studio : 0.484.0


我尝试配置我的schema.prisma为:

  1. generator client {
  2. provider = "prisma-client-js"
  3. binaryTargets = ["native","darwin", "darwin-arm64"]
  4. }


但我还是在犯错。下面是我得到的错误:

  1. PrismaClientInitializationError: Query engine library for current platform "linux-musl-arm64-openssl-3.0.x" could not be found.
  2. You incorrectly pinned it to linux-musl-arm64-openssl-3.0.x
  3. This probably happens, because you built Prisma Client on a different platform.
  4. (Prisma Client looked in "/app/node_modules/@prisma/client/runtime/libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node")

pieyvz9o

pieyvz9o1#

我得到了和你一样的错误,并发现这是解决方案。

  1. generator client {
  2. provider = "prisma-client-js"
  3. binaryTargets = ["native", "linux-musl-arm64-openssl-3.0.x"]
  4. }

字符串
如果这不能解决您的问题,我建议您查看文档的这一部分:https://www.prisma.io/docs/concepts/components/prisma-schema/generators#binary-targets

相关问题