1. 发布前准备
- 在 package.json 中配置 name、version、description、main、files 等字段
- 使用 npm pack --dry-run 预览将要发布的文件,确保不含敏感信息(如 .env、密钥)
- 通过 .npmignore 或 files 字段排除不需要发布的文件
2. 认证与发布
- 运行 npm login 登录 npm 账号,或使用 Granular Access Token 进行认证
- 发布公共包:npm publish --access public
- 发布 scoped 包:默认私有,如需公开需显式指定 --access public
- 账号需启用双因素认证(2FA),或使用带 bypass 2FA 权限的令牌
3. 暂存发布与审核
- 使用 npm stage publish 将包提交到暂存区,无需 2FA
- 维护者在 npmjs.com 的 Staged Packages 页面审核并批准发布
- 批准时需通过 2FA 验证,确保发布操作经过授权
4. 可信发布(Trusted Publishing)
- 在 npmjs.com 的包设置中配置 GitHub Actions 或 GitLab CI/CD 为可信发布者
- CI 流水线中直接运行 npm publish,npm 自动通过 OIDC 验证并生成来源证明
- 配置完成后可禁用传统 token 发布,仅允许可信发布与 2FA 本地发布