EN
← 错误索引

F_SYSTEM_DUPLICATE_OPTION_TOKEN

选项 token 重复

同一命令中的字段、子选项、处理器 flag 或处理器 path 占用了相同 token。

更新于 2周前

复现

同一命令中的选项名称、alias、处理器 flag 和处理器 path 必须保持唯一:

src/build.command.ts
import { CommandMajor, Container, Flag, Handler, Value } from 'func'

@CommandMajor()
class BuildCommand {
  @Flag({ name: 'config' })
  useConfig = false

  @Value({ name: 'config' })
  config = ''

  @Handler()
  run() {}
}

new Container([BuildCommand])

如何修复

重命名其中一个冲突 token,或删除重复声明:

src/build.command.ts
@CommandMajor()
class BuildCommand {
  @Flag({ name: 'use-config' })
  useConfig = false

  @Value({ name: 'config' })
  config = ''

  @Handler()
  run() {}
}

new Container([BuildCommand])