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

Ubuntu 22.04运行Prisma报错GLIBC_2.33未找到如何解决

问题根因

这个报错和系统OpenSSL安装异常没有直接关系,核心原因是你当前使用的Node.js是通过snap渠道安装的:snap的core20沙箱环境内置的libc.so.6最高只支持到GLIBC_2.32版本,而系统路径下的libcrypto.so.3(属于OpenSSL 3.0组件)依赖GLIBC_2.33版本符号,Prisma 4.0.0加载查询引擎动态库时优先读取snap沙箱内的低版本glibc,就会触发版本不匹配错误。

修复方案

按优先级从高到低排列,选任意一个方案操作即可解决问题:

  • 方案1(一劳永逸,推荐):替换snap版Node.js
    1. 执行sudo snap remove node卸载snap安装的Node
    2. 改用nvm版本管理工具或者系统官方包源安装Node.js LTS版本,确保Node运行时不依赖snap沙箱的隔离类库
    3. 回到项目目录,删除node_modules文件夹、package-lock.json/yarn.lock/pnpm-lock.yaml锁文件,重新执行包安装命令拉取依赖,之后运行npx prisma generate即可正常执行
  • 方案2(临时绕过,无需修改Node环境):指定Prisma使用二进制引擎
    1. 打开项目根目录的.env文件,新增一行配置:PRISMA_CLI_QUERY_ENGINE_TYPE=binary
    2. 保存后直接重新执行npx prisma generate,该配置会让Prisma放弃加载动态链接的libquery_engine库,改用静态编译的独立二进制查询引擎,绕开snap沙箱的glibc版本冲突
  • 方案3(适配旧环境,不想改配置可选):降级Prisma到兼容版本
    1. 执行依赖安装命令将Prisma版本降到3.x系列稳定版:npm install prisma@3.15.2 @prisma/client@3.15.2 --save-dev
    2. 版本降级后Prisma的预编译引擎默认适配OpenSSL 1.1.x版本,不会依赖需要高版本glibc的libcrypto.so.3,可直接消除报错

注意:不要尝试手动替换snap沙箱内的libc文件,也不要随意修改系统/lib路径下的全局libc.so.6文件,操作不当会导致系统所有依赖glibc的程序崩溃,无法正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:00:53