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

将Node.js包发布到GitHub Packages时遇ENEEDAUTH错误求助

解决GitHub Actions发布NPM包到GitHub Packages失败问题

针对你遇到的官方模板无法发布到GitHub Packages的问题,可按以下步骤排查修复:

1. 修正package.json的包名格式

GitHub Packages要求NPM包名必须包含GitHub用户名作为scope,格式为@<你的GitHub用户名>/<包名>。你的package.json中当前包名为wow-calendar.js,缺少scope,导致发布时权限匹配失败。修改后示例:

{
  "name": "@Roo7K1d/wow-calendar.js",
  // 其他字段保持不变
}

2. 调整项目根目录的.npmrc配置

确保你的.npmrc文件指定了对应scope的包发布到GitHub Packages,内容如下:

@Roo7K1d:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}

这个配置会让@Roo7K1d前缀的包默认使用GitHub Packages仓库,同时自动读取环境变量中的认证token。

3. 确认Workflow的环境变量传递

你的Workflow中npm publish步骤的NODE_AUTH_TOKEN已正确引用secrets.GITHUB_TOKEN,且已配置permissions: packages: write,这部分权限设置无需调整。只需确保仓库的Actions权限未限制GITHUB_TOKEN的包操作权限即可。

4. 简化Workflow(可选优化)

可合并build和publish步骤的重复操作,减少冗余执行,示例修改后的Workflow:

name: Node.js Package (GHP)

on:
  release:
    types: [created]

jobs:
  build-and-publish:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
          registry-url: https://npm.pkg.github.com/
          scope: '@Roo7K1d'
      - run: npm ci
      - run: npm test
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}

完成以上调整后,重新触发Release事件即可正常发布到GitHub Packages。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:57:27