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
相关产品推荐
相关产品推荐

