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

创建Release时Github Action未触发生成NPM私有包问题排查

问题排查与修复方案

一、Workflow文件格式错误(导致无工作流记录)

你提供的Workflow配置存在缩进错误,YAML对缩进要求严格,多余的前置空格会导致GitHub无法正确解析该文件,因此Actions页面看不到任何工作流记录。

修复方法:移除所有行前的多余空格,正确格式如下:

name: Node.js Package
on:
  release:
    types: [created]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 16
      - run: npm ci
      - run: npm test
  publish-gpr:
    needs: build
    runs-on: ubuntu-latest
    permissions:
      packages: write
      contents: read
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 16
          registry-url: https://npm.pkg.github.com/
      - run: npm ci
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}

同时确认文件路径为**.github/workflows/release-package.yaml**(注意Linux环境下路径区分大小写,文件名不要拼写错误)。

二、package.json配置错误

  1. 无效的owner字段:owner不是package.json的标准字段,GitHub Packages要求私有包的name必须遵循@你的GitHub用户名/包名格式,比如@my-gh-username/shared-code,需将owner字段替换为正确的name字段。
  2. scope一致性问题:publishConfig中的@my-gh-username必须和name字段的scope完全一致,否则发布时会匹配不到对应仓库。

修复后的package.json相关配置示例:

{
  ...
  "name": "@my-gh-username/shared-code",
  "publishConfig": {
    "@my-gh-username:registry": "https://npm.pkg.github.com"
  }
  ...
}

三、触发条件的确认

Workflow的触发条件是release: types: [created],该事件仅在你**在GitHub仓库页面创建正式Release(非草稿)**时触发。如果仅推送Git Tag而未创建对应Release,工作流不会运行,请确认是通过仓库「Releases」板块完成了完整的Release创建操作(填写版本号、描述并发布)。

四、额外注意事项

  • 确保仓库为私有仓库,且你拥有该仓库的Packages写入权限(Workflow中配置的permissions: packages: write是正确的)。
  • NODE_AUTH_TOKEN使用${{secrets.GITHUB_TOKEN}}无需手动配置,GitHub会自动为工作流注入该令牌。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:25:08