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

TypeORM执行migration:generate报非选项参数不足问题排查

报错根因

TypeORM 0.3.x 版本对CLI参数规则做了不兼容升级,和0.2.x版本逻辑差异较大:

  • 旧版本用来指定迁移名称的-n参数已被完全移除,迁移名称、生成路径必须作为非选项位置参数直接跟在migration:generate子命令后
  • 你之前执行命令时所有参数都通过带横杠的选项形式传递,实际传入的位置参数数量为0,正好触发Not enough non-option arguments: got 0, need at least 1报错,提示里提到的缺失参数就是迁移文件的生成路径。
修复方案
  1. 调整package.json里的typeorm执行脚本,yarn berry环境下避免用$(yarn bin typeorm)的动态路径写法,直接指向cli文件即可,预配置的数据源参数保留:
"scripts": {
  "typeorm": "ts-node -P ./tsconfig.typeorm.json ./node_modules/typeorm/cli.js -d ./src/db/CliDataSource.ts"
}
  1. 执行迁移生成命令时,废弃-n=xxx的传参方式,直接把迁移文件的生成路径和名称作为位置参数传入,正确命令如下:
yarn typeorm migration:generate ./src/migrations/consent-record

路径不需要写.ts后缀,TypeORM会自动给生成的文件添加时间戳前缀、补全文件后缀。

  1. 前置校验项
  • 确认tsconfig.typeorm.json中开启了esModuleInterop: true,避免ts-node执行时出现模块导入错误
  • 确认CliDataSource配置里的entities、migrations匹配路径能正确覆盖项目内的实体文件、迁移文件目录,避免后续生成时扫不到实体变更

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:06:20