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

GitHub Publish Action找不到根目录package.json,Node包发布失败

问题分析

错误日志明确提示找不到package.json文件,核心原因是GitHub Actions的runner环境中没有拉取你的仓库代码,导致npm install无法定位项目配置文件——你的publish.yml缺少拉取仓库代码的关键步骤。

修正后的publish.yml配置
name: Publish

on:
  push:
    branches:
      - main

jobs:
  publish:
    runs-on: ubuntu-latest

    steps:
      # 新增:拉取仓库代码到runner环境
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Set up Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18 # 推荐使用LTS版本,比16更稳定
          registry-url: 'https://registry.npmjs.org' # 预先配置npm registry,简化后续发布命令

      - name: Install dependencies
        run: npm ci # 使用npm ci比npm install更适合CI环境,依赖版本更稳定

      - name: Publish to GitHub Packages
        run: npm publish --registry=https://npm.pkg.github.com/
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Publish to npm
        run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
额外注意事项
  • 权限配置:确保GITHUB_TOKEN拥有发布GitHub Packages的权限(默认令牌已具备该权限),NPM_TOKEN是你在npm官网生成的授权令牌,且已添加到仓库的Secrets中。
  • package.json规范:
    发布到GitHub Packages时,package.json需正确配置repository字段,格式为"repository": "github:ashutosh887/depextract";
    若为私有包,name字段需包含用户名前缀,比如@ashutosh887/depextract。
  • 版本号管理:每次推送main分支前,务必更新package.json中的version字段——npm和GitHub Packages均不允许重复发布同一版本的包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:52:43