GitHub Action发布CSS包时遭遇ENEEDAUTH权限错误求助
解决GitHub Action发布到GitHub Packages时的ENEEDAUTH错误
错误原因
虽然在actions/setup-node中指定了registry-url,但npm默认会优先读取package.json里的publishConfig配置;如果未配置该字段,发布请求可能仍指向npm官方源https://registry.npmjs.org/,导致系统要求登录npm而非GitHub Packages。
解决方法
方法1:在package.json中配置publishConfig
在项目的package.json内添加以下配置,强制发布流程指向GitHub Packages:
"publishConfig": { "registry": "https://npm.pkg.github.com/" }
方法2:在publish命令中显式指定registry
修改Workflow里的npm publish步骤,通过命令参数直接指定目标源:
- run: npm publish --registry=https://npm.pkg.github.com/ env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
额外优化:仅在transform工作流成功时触发
当前Workflow的on.workflow_run.types设置为completed,会在transform工作流完成(无论成功失败)时触发。建议改为仅在成功时触发,避免无效发布:
on: workflow_run: workflows: ["transform"] types: - succeeded
内容的提问来源于stack exchange,提问作者Ollie Williams
相关产品推荐
相关产品推荐

