根本原因是vscode终端未加载shell初始化文件(如~/.zshrc),导致blitz命令不可用;验证用which blitz,修复需配置terminal.integrated.defaultprofile.osx并重启vscode。

VSCode 里执行 blitz db migrate 报 “command not found”
根本不是 Blitz 没装,而是 VSCode 终端没加载你的 shell 初始化文件(比如 ~/.zshrc 或 ~/.bash_profile),导致 npx、blitz 命令不可用。
验证方式:在 VSCode 内置终端运行 which blitz。如果无输出,或返回 /usr/local/bin/blitz(系统级软链但实际未安装),就确认了问题。
- 打开 VSCode 设置(
Cmd + ,),搜索terminal.integrated.profiles.osx(macOS)或对应 Linux/Windows 的配置项 - 检查你 shell 对应的 profile 是否设置了正确的
path,例如"path": "/bin/zsh" - 把
terminal.integrated.defaultProfile.osx设为该 profile 名(如"zsh") - 必须重启整个 VSCode 应用(只关终端无效)
在 VSCode 里直接运行 Blitz RPC 调用却报错 “Cannot find module ‘@blitzjs/rpc’”
这是常见于刚生成项目后、未完成首次构建的典型问题。Blitz 的 RPC 层依赖编译产物(.blitz 目录下生成的 rpc.js),而 VSCode 默认不触发自动构建。
关键点:Blitz 的 RPC 不是纯前端调用,它需要服务端代码被编译并注入到 Node.js 运行时中。
- 确保项目根目录已运行过
blitz dev至少一次(会生成.blitz和node_modules/.blitz) - 检查
node_modules/.blitz是否存在且非空;若为空,删掉重试blitz dev - 不要在未启动 dev server 的情况下,仅靠 VSCode 的 JS Debug Terminal 执行 RPC 调用
- 调试时,优先使用 VSCode 的
launch.json配置 Node.js 启动任务,并设"program": "./node_modules/.bin/blitz",而非直接跑node脚本
VSCode 中 blitz db migrate 卡住或提示 “No migrations to run” 但实际有新 migration 文件
Blitz 使用 Prisma Migrate,但它的 CLI 行为和原生 prisma migrate 有细微差异——尤其在工作目录、schema 解析路径和缓存判断上。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
最常被忽略的是:Blitz 要求 migration 必须在项目根目录下执行,且 prisma/schema.prisma 必须能被正确解析(包括 datasource provider 和 generator 配置)。
- 确认当前终端 pwd 是项目根目录(含
blitz.config.ts和prisma/schema.prisma) - 运行
npx prisma migrate status --schema=prisma/schema.prisma,看是否识别出 pending migration - 如果 Prisma 自己也卡住,大概率是
schema.prisma里provider = "postgresql"等写错,或generator client缺失 - Blitz 的
blitz db migrate实际是封装了npx prisma migrate dev,但会跳过交互式 prompt;如需强制重跑,改用npx prisma migrate reset(慎用,会删库)
想在 VSCode 里一键运行迁移+重启 dev server,但 tasks.json 总失败
Blitz 的开发流是“迁移 → 生成 client → 重启”,三步缺一不可。简单串起 blitz db migrate && blitz dev 会因进程抢占端口而失败。
真正可靠的方式是用 concurrently 控制生命周期,再通过 VSCode Task 封装。
- 先安装:
npm install --save-dev concurrently - 在
package.json中加 script:"migrate:dev": "blitz db migrate && concurrently 'blitz dev' 'npx prisma generate'" -
.vscode/tasks.json中定义 task,command改为npm run migrate:dev,并设"isBackground": true和"problemMatcher": ["$tsc-watch"] - 注意:Blitz 的
prisma generate是异步触发的,手动加这一步可避免 RPC 类型未更新导致的 TS 错误
Blitz 的 RPC 调用和数据库迁移不是独立动作,它们共享 Prisma Client 的生成状态;任何跳过 prisma generate 的快捷方式,最终都会在类型检查或运行时报错——这点很容易被忽略,但恰恰是 VSCode 中最常断掉的链路。










