环境变量校验要按模块懒加载
> 同理:校验还该按运行范围(Production / Preview / 开发)分别要求,本地只该校验它真正会用到的那一组。
症状
packages/shared/src/env.ts 全局校验 → 只做账号密码登录也要求 AI / R2 / Resend 配置齐全,否则启动即炸。
按模块拆
| 模块 | 需要的变量 |
|---|---|
| Auth | DATABASE_URL、NEXTAUTH_SECRET、NEXTAUTH_URL、OAuth 相关 |
| AI | 用到时才校验 AI key |
| 文件上传 | 用到时才校验对象存储(R2 等) |
| 邮件 | 用到时才校验 Resend |
短期可先填占位值让流程不炸,长期把校验拆开,避免未开发模块阻塞。
相关
- 环境变量校验要按模块懒加载 —— 同类:作用域不该一刀切
- Agent harness 要隔离复现可收尾 —— 同类:配置/环境的作用域要按使用场景隔离,而不是全局一刀切
- 依赖版本要锁主版本而非一律取最新 —— 同属「环境不一致导致的漂移」