我自己在自己垃圾机顶盒上跑docker的时候发现没有arm32位镜像,逐尝试构建一个sqlite版本,用了ai查看大量信息后,等我构建后发现问题,这个项目无法使用arm32位镜像。因为其中的Prisma 版本似乎不支持arm32位了
下面是ai原话
这个错误的根本原因是 Prisma 官方不支持 ARM32 (armv7l) 架构,其预编译的 query engine 二进制文件不包含 linux-arm-openssl-3.0.x 平台,CDN 上对应的 SHA256 校验文件返回 404。
让我先查看 Dockerfile 和 Prisma schema 的具体内容:
这是 Prisma 不支持 ARM32 (armv7l) 架构的根本性限制,无法绕过。
问题分析
两个 schema.prisma 文件的 binaryTargets 均为 ["native", "linux-musl"],其中 linux-musl 对应 x86_64 Alpine。 schema.prisma:6-9
在 QEMU 模拟 linux/arm/v7 环境下构建时,native 被识别为 linux-arm-openssl-3.0.x(ARM32),Prisma 尝试从 CDN 下载对应的 query engine 二进制文件,但该平台的文件根本不存在(404)。
Prisma 官方支持的 ARM 平台只有:
linux-arm64-openssl-* (ARM64 glibc)
linux-musl-arm64-openssl-* (ARM64 Alpine/musl)
ARM32 (armv7l) 从未在 Prisma 支持列表中,且 Prisma 官方明确表示不计划支持。
累了。。。。
我自己在自己垃圾机顶盒上跑docker的时候发现没有arm32位镜像,逐尝试构建一个sqlite版本,用了ai查看大量信息后,等我构建后发现问题,这个项目无法使用arm32位镜像。因为其中的Prisma 版本似乎不支持arm32位了
下面是ai原话
累了。。。。