使用GitHub Actions发布npm包时出现E401错误,求问题排查
GitHub Actions发布npm包E401错误修复
你的配置存在三个关键问题,导致了认证失败:
- 环境变量缩进错误:
env块应当与run同级,当前嵌套在run脚本内会导致TOKEN变量无法被正确注入,npm无法获取有效认证令牌。修复后的步骤配置如下:
- run: | npm config set //npm.pkg.github.com/:_authToken $TOKEN npm install npm run build npm publish env: TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 未指定GitHub Packages仓库地址:如果是发布到GitHub Packages,必须在项目的
package.json中添加publishConfig字段,否则npm会默认向官方npm源发送请求,而GITHUB_TOKEN仅对GitHub Packages有效:
{ "publishConfig": { "registry": "https://npm.pkg.github.com/" } }
- 令牌权限不足:默认的
GITHUB_TOKEN没有发布npm包的权限,需要在job中显式配置权限:
jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write steps: # 后续原有步骤保持不变
完成以上修改后,重新触发main分支的push动作,即可正常发布npm包。
内容的提问来源于stack exchange,提问作者Samu R
相关产品推荐
相关产品推荐

