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

发布作用域NPM包后无法通过NPX运行,本地npm link正常

排查作用域NPM包发布后npx无法调用的问题
  • 检查bin指向文件是否被正确发布
    npm默认会依据.gitignore或.npmignore规则排除文件,若你的package.json未配置files字段,可能导致src/index.js未被包含在发布包内。执行以下命令查看已发布包的文件列表:

    npm view @myscope/mod-hook01 files
    

    如果列表中没有src/index.js,需在package.json中添加files字段明确指定要发布的文件:

    {
      "files": [
        "src/index.js"
      ]
    }
    

    修改后重新发布新版本即可。

  • 确认入口文件的shebang声明
    src/index.js的第一行必须添加shebang,告知系统使用Node.js执行该文件:

    #!/usr/bin/env node
    // 后续业务代码
    

    缺少该声明时,即便bin配置正确,系统也无法识别命令的执行环境,最终导致"command not found"错误。

  • 验证发布包的bin配置是否生效
    执行命令查看已发布包的bin配置详情:

    npm view @myscope/mod-hook01 bin
    

    正常输出应显示mod-hook01对应的文件路径。若输出异常,需检查package.json的bin字段格式是否存在语法错误,修正后重新发布。

  • 清除npx缓存并强制拉取最新版本
    npx可能缓存了旧版本包,导致调用失效。执行以下命令强制使用最新版本:

    npx @myscope/mod-hook01@latest
    

    若仍无法解决,可手动清除npx缓存:

    rm -rf ~/.npm/_npx
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:52:03