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

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

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

报错

vbnet 复制代码
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 发布

css 复制代码
npm publish --access public --otp=123456

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

在 npm 官网创建 Granular Access Token

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

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

如何写入 _authToken

推荐使用 npm config set

arduino 复制代码
npm config set //registry.npmjs.org/:_authToken=你的token

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

arduino 复制代码
npm config set //registry.npmjs.org/:_authToken=你的token --location=project

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

相关推荐
掘金安东尼7 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼7 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea9 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo9 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队10 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher10 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati10 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao10 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
兆子龙11 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙12 小时前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构