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

使用Prisma填充Supabase表时触发Segmentation fault (core dumped)错误求助

解决Prisma连接Supabase时出现Segmentation Fault的问题

以下是几个针对性的排查和解决步骤:

  • 检查Prisma引擎与系统架构兼容性
    Segmentation Fault通常和二进制引擎与系统架构不匹配有关。先重新生成Prisma客户端,确保引擎适配当前系统:

    npx prisma generate
    

    如果是ARM架构设备(比如M系列Mac),需要指定目标架构安装依赖后再生成:

    npm install @prisma/client --target=darwin-arm64
    npx prisma generate
    
  • 修复脚本的异步处理逻辑
    你的种子脚本没有处理异步错误和数据库连接关闭,可能导致进程异常终止。修改后的脚本如下:

    import { PrismaClient } from "@prisma/client";
    
    const db = new PrismaClient()
    
    const seed = async() => {
        try {
            await db.post.create({
                data: {
                    email: 'hello@hello.com',
                    name: 'hello'
                }
            })
            console.log("数据插入成功")
        } catch (error) {
            console.error("插入失败:", error)
            throw error
        } finally {
            await db.$disconnect()
        }
    }
    
    seed().catch(err => {
        console.error("种子脚本执行失败:", err)
        process.exit(1)
    });
    

    注:如果你的项目是ES模块(package.json中设置了"type": "module"),无需使用createRequire,直接导入PrismaClient即可。

  • 升级Prisma到最新稳定版本
    旧版本Prisma可能存在与Supabase交互的兼容性bug,升级到最新版可解决部分问题:

    npm install prisma@latest @prisma/client@latest
    npx prisma generate
    
  • 确认Supabase连接配置正确性
    检查prisma/schema.prisma中的数据库配置,确保启用SSL(Supabase强制要求):

    datasource db {
      provider = "postgresql"
      url      = env("DATABASE_URL")
      sslmode  = "require"
    }
    

    同时验证环境变量DATABASE_URL是Supabase控制台提供的完整SSL连接字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:05:25