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

Next.js集成Supabase编译失败:database.types.ts解析错误求助

Next.js + Supabase 构建报错:Parsing error: File appears to be binary(database.types.ts 相关)

问题描述

我用 Next.js 和 Supabase 搭建的项目原本运行正常,但通过 Supabase CLI 从 PostgreSQL schema 生成 TypeScript 定义并添加表后,执行 npm run build 时出现以下错误:

./src/lib/database.types.ts
Error: Parsing error: File appears to be binary.

info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules

已尝试执行的生成命令:

npx supabase gen types typescript --project-id my-project-id > src/lib/database.types.ts

解决建议

  • 检查并修复文件编码:生成的 database.types.ts 可能被意外保存为二进制编码(如 UTF-16)。用文本编辑器(比如 VS Code,右下角可查看/转换编码)将文件转成 UTF-8;也可通过命令行转换:
    # Linux/macOS 示例
    iconv -f UTF-16 -t UTF-8 src/lib/database.types.ts > src/lib/database.types.fixed.ts
    mv src/lib/database.types.fixed.ts src/lib/database.types.ts
    
  • 改用官方参数生成文件:避免终端重定向 > 带来的编码或特殊字符问题,使用 Supabase CLI 的 --output 参数直接指定输出文件:
    npx supabase gen types typescript --project-id my-project-id --output src/lib/database.types.ts
    
  • 调整 ESLint 配置:若文件本身是合法 TS 文件但被误判,可在 .eslintrc.json 中忽略该文件或禁用相关规则:
    {
      "ignorePatterns": ["src/lib/database.types.ts"],
      "overrides": [
        {
          "files": ["src/lib/database.types.ts"],
          "rules": {
            "no-undef": "off"
          }
        }
      ]
    }
    
  • 验证生成文件内容:打开 database.types.ts 检查是否存在乱码、空内容或非文本字符。若异常,确认 Supabase 项目 ID 正确,先执行 npx supabase login 登录后再重新生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:52:03