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

最新版Caporal引入prog模块报cannot find module prog问题咨询

问题原因

你混用了Caporal新旧版本的导入写法:Caporal从2.0版本开始包名已经更新为@caporal/core,原有的caporal包是旧版,如果你只安装了新版@caporal/core,自然找不到caporal对应的模块。而且你需要用到的Int类型校验器,在新版中已经直接从@caporal/core导出,不需要通过旧版的prog对象调用。

正确写法(CommonJS 规范,匹配你现有代码风格)

直接从@caporal/core中解构导出你需要的program和类型校验器即可:

#!/usr/bin/env node
const { program, Int } = require("@caporal/core");

program
  .command("random", "Generate random alphanumeric")
  .option("--length", "length of string", Int, 32)
  .action(({ logger, options }) => {
    const leng = options.length;
    logger.info(leng);
  });

program.run();

可选写法(ES Module 规范)

如果你的项目使用ES Module规范,先在项目package.json中添加配置"type": "module",再用以下导入方式:

#!/usr/bin/env node
import { program, Int } from "@caporal/core";

program
  .command("random", "Generate random alphanumeric")
  .option("--length", "length of string", Int, 32)
  .action(({ logger, options }) => {
    const leng = options.length;
    logger.info(leng);
  });

program.run();

内容的提问来源于stack exchange,提问作者lian abdiansyah tanjung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:36:06