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

使用npx pkg打包CLI工具时出现‘Error! Not more than one entry file/directory is expected’错误的原因及解决方案咨询

解决pkg构建CLI时的「Error! Not more than one entry file/directory is expected」错误

错误核心原因

你遇到的这个错误,最直接的问题是命令参数格式错误:你的命令里写了-- output(注意中间的空格),pkg会把--当成一个独立参数,而output会被识别成第二个入口路径——加上你前面的.(当前目录),就等于同时指定了两个入口,这就触发了pkg“只能指定一个入口文件/目录”的规则限制。

除此之外,还有一种潜在可能:即使参数格式正确,如果当前目录的package.json没有明确指定main字段,或者同时存在多个pkg默认会识别的入口文件(比如index.js和cli.js同时存在),pkg也会因为无法确定唯一入口而抛出这个错误。

修复步骤

  1. 修正命令参数格式
    把-- output改成--output(去掉中间的空格),正确的命令应该是:
npx pkg . -d --targets node14-macos-x64 --output bin/macos/metaplex
  1. 确保入口文件唯一可识别
  • 检查你的package.json,确认main字段正确指向CLI的入口文件,比如:
    {
      "main": "cli.js"
    }
    
  • 如果不想依赖package.json的配置,也可以直接指定具体的入口文件路径代替.,比如:
    npx pkg cli.js -d --targets node14-macos-x64 --output bin/macos/metaplex
    
  1. 验证输出目录权限与存在性
    如果修正命令后还是无法输出到bin/macos/目录,需要检查该目录是否存在,或者当前用户是否有写入权限。可以提前手动创建目录:
mkdir -p bin/macos

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 16:42:39