npm推送包失败需要Two-factor权限认证问题解决

npm 发布 403(2FA/Token)排查记录

本文记录发布到 npm 时出现 403 权限错误的原因与处理方式。

报错

npm error 403 Forbidden - PUT https://registry.npmjs.org/@gogec%2fthree-scene-vue3
npm error Two-factor authentication or granular access token with bypass 2fa enabled is required to publish packages.

原因说明

账号开启了 two-factor auth: auth-and-writes,发布必须满足以下任一条件:

  • 发布时输入一次性验证码(OTP)
  • 使用 带 publish 权限且允许 bypass 2FA 的 Granular Access Token

如果使用的 token 没有发布权限,或未携带 OTP,就会 403。

解决方案

方式一:带 OTP 发布

npm publish --access public --otp=123456

方式二:使用有发布权限的 token

在 npm 官网创建 Granular Access Token

  • 勾选 Publish 权限
  • 如需绕过 2FA,勾选 bypass 2FA

image.png

image.png

设置对应权限之后,页面滚动到底部,设置过期时间,点击生成即可

image.png

如何写入 _authToken

推荐使用 npm config set

npm config set //registry.npmjs.org/:_authToken=你的token

只作用于当前项目(写入项目根目录 .npmrc):

npm config set //registry.npmjs.org/:_authToken=你的token --location=project

完成以上步骤,重新npm publish --access public推送包即可成功

image.png

posted @ 2026-01-07 12:01  李嘉图呀  阅读(10)  评论(0)    收藏  举报