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

Prisma Client本地正常生产环境报错:找不到debian-openssl-3.0.x查询引擎如何解决?

Prisma Client生产环境部署后Query Engine找不到的解决方法

问题描述

本地运行Prisma Client正常,但通过Webpack打包、GitLab Runner部署到Ubuntu 23.10 x64服务器后,触发如下错误:

Invalid prisma.event.findMany() invocation:
Prisma Client could not locate the Query Engine for runtime "debian-openssl-3.0.x".
此问题通常是因为打包工具未将libquery_engine-debian-openssl-3.0.x.so.node复制到打包产物目录或node_modules/.prisma/client下。

环境信息:

  • Ubuntu 23.10 x64
  • Node.js 20.10.0
  • @prisma/client ^5.8.1
  • schema.prisma已配置binaryTargets = ["native", "debian-openssl-1.1.x", "debian-openssl-3.0.x", "linux-musl", "linux-musl-openssl-3.0.x"]
  • GitLab CI流程:npm install → npx prisma generate → npm run build

解决方案

1. 配置Webpack复制Prisma二进制引擎文件

Webpack默认不会处理.so.node这类二进制文件,需借助copy-webpack-plugin将引擎文件同步到打包输出目录:

  • 安装插件:
    npm install copy-webpack-plugin --save-dev
    
  • 修改webpack.config.js,添加插件配置:
    const CopyPlugin = require('copy-webpack-plugin');
    
    module.exports = {
      // 原有配置保留
      plugins: [
        new CopyPlugin({
          patterns: [
            // 复制所有Prisma引擎二进制文件
            {
              from: 'node_modules/.prisma/client/*.so.node',
              to: '[name][ext]'
            },
            {
              from: 'node_modules/.prisma/client/*.bin',
              to: '[name][ext]'
            }
          ]
        })
      ]
    };
    

2. 优化GitLab CI构建流程

确保构建过程中生成的引擎文件被包含在最终产物中:

  • 修改gitlab-ci.yml,添加产物验证步骤:
    script:
      - npm install
      - npx prisma generate
      - npm run build
      # 验证引擎文件已复制到Webpack输出目录(假设输出目录为dist)
      - ls dist/ | grep libquery_engine
    
  • 部署时直接上传包含引擎文件的dist目录到生产服务器,避免在服务器上重新执行npm install或prisma generate。

3. 确认生产服务器文件位置

部署完成后,检查以下路径是否存在目标引擎文件:

  • 打包产物的同级目录(如/var/www/libquery_engine-debian-openssl-3.0.x.so.node)
  • 服务器项目下的node_modules/.prisma/client目录

若文件缺失,手动复制构建产物中的引擎文件到对应路径即可。

4. 强制生成对应平台引擎

如果CI环境中prisma generate未生成目标平台引擎,可通过环境变量强制指定:

PRISMA_BINARY_TARGETS="debian-openssl-3.0.x" npx prisma generate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:55:36