You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron Builder打包应用报错:找不到.prisma/client/default模块

Electron打包后Prisma无法找到.prisma/client/default模块的原因及解决办法

核心原因

开发模式下Prisma能正常工作,但打包后崩溃的本质问题在于:

  1. asar压缩包限制:Prisma Client依赖的二进制引擎文件(如查询引擎、迁移引擎)被打包进了app.asar压缩包,而Electron主进程无法直接读取asar包内的二进制文件。
  2. 路径解析失效:打包后应用的运行根路径发生变化,Prisma自动路径解析逻辑无法正确定位到.prisma/client目录下的资源。

具体解决步骤

1. 修正asarUnpack配置

调整package.json中的asarUnpack规则,确保Prisma的所有二进制资源被解压到asar包外的可访问目录:

"build": {
  // ...其他配置
  "asarUnpack": [
    "node_modules/.prisma/client/**/*",
    "node_modules/@prisma/engines/**/*"
  ]
}

更精确的路径匹配可以避免遗漏关键的引擎二进制文件,确保这些资源被放到app.asar.unpacked目录下,主进程能直接访问。

2. 手动指定Prisma引擎路径

在主进程初始化PrismaClient时,手动适配打包后的路径:

import { PrismaClient } from '@prisma/client'
import { join } from 'path'

const prisma = new PrismaClient({
  datasources: {
    db: {
      url: "你的数据库连接字符串"
    }
  },
  engineType: 'binary',
  binaryPaths: {
    queryEngine: join(process.resourcesPath, 'app.asar.unpacked/node_modules/.prisma/client/query-engine-windows.exe'),
    migrationEngine: join(process.resourcesPath, 'app.asar.unpacked/node_modules/.prisma/client/migration-engine-windows.exe'),
    introspectionEngine: join(process.resourcesPath, 'app.asar.unpacked/node_modules/.prisma/client/introspection-engine-windows.exe'),
    formatBinary: join(process.resourcesPath, 'app.asar.unpacked/node_modules/.prisma/client/prisma-fmt-windows.exe')
  }
})

注意根据你的Prisma版本和Windows架构(如x64)调整二进制文件名。

3. 重新生成适配打包平台的Prisma客户端

在prisma/schema.prisma中明确指定打包目标平台,然后重新生成客户端:

generator client {
  provider = "prisma-client-js"
  binaryTargets = ["windows-x64", "native"]
}

执行命令重新生成:

npx prisma generate

这一步确保生成的客户端二进制文件完全匹配Windows x64环境,避免平台不兼容导致的路径错误。

4. 验证files配置完整性

确保package.json的files配置包含Prisma相关文件(如果你的项目需要打包schema文件):

"build": {
  // ...其他配置
  "files": [
    "dist-electron/**/*",
    "node_modules/**/*",
    "prisma/**/*"
  ]
}

总结

打包后Prisma模块找不到的问题,本质是二进制资源的访问权限和路径解析问题。通过精准配置asarUnpack、手动指定引擎路径、适配平台生成客户端这几个步骤,即可解决启动崩溃的问题。

内容的提问来源于stack exchange,提问作者WWW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 02:02:30