SuperAPI AI 工具集

npm-trusted-publishing

通用与其它

查看项目

更新于 10-16 03:47

技能介绍

用途:在 GitHub Actions 中通过 OIDC 可信发布(trusted publishing)安全地向 npm 发布包,替代长期有效的 NPM_TOKEN 密钥。适用于搭建 npm 发布流水线、从 NPM_TOKEN 迁移到可信发布、为包添加来源证明(provenance attestations)以及发布 monorepo 中的子包。

主要能力与要求:工作流需具备 id-token: write 权限;package.json 的 repository.url 需与 GitHub 仓库匹配,monorepo 子包需补充 directory 字段;发布时使用 --provenance 标志;并在 npmjs.com 上为每个包配置可信发布者(Repository、Workflow、可选 Environment)。配置正确后无需 NODE_AUTH_TOKEN,由 OIDC 完成认证。

必要用法:在 actions/setup-node 后执行 npm ci、npm run build,再执行 npm publish --access public --provenance。若 runner 自带的 npm 版本过旧可能导致 OIDC 发布失败并报 E404,需先运行 npm install -g npm@latest。

常见错误:缺少 --provenance、URL 格式错误(应使用 git+https://github.com/...)、缺少 id-token: write、忘记在 npmjs.com 配置可信发布者、仍使用 NODE_AUTH_TOKEN。

限制:GitHub Actions runner 的 npm 版本可能过旧,需先升级;npmjs.com 需逐包配置可信发布者;其余平台支持情况与收费信息暂未提供。参考:https://docs.npmjs.com/trusted-publishers