You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复GitHub Actions中npm发布的EOTP错误?

解决GitHub Action中npm publish报EOTP错误的方案

问题原因

你的npm账号开启了双因素认证(2FA),使用普通访问令牌执行npm publish时需要手动输入OTP,但GitHub Action是无交互环境,无法提供验证码,因此触发EOTP错误。

解决方案:使用npm自动化令牌(Automation Token)

npm提供专门用于CI/CD环境的自动化令牌,这类令牌无需OTP即可完成发布操作,步骤如下:

  1. 创建npm自动化令牌

    • 登录你的npm账号,进入「Settings」→「Access Tokens」页面
    • 点击「Generate New Token」,选择令牌类型为Automation
    • 配置令牌权限(至少勾选「Publish」权限,按需调整),生成令牌后复制保存(令牌仅显示一次)
  2. 更新GitHub仓库密钥

    • 打开你的GitHub仓库,进入「Settings」→「Secrets and variables」→「Actions」
    • 找到已有的NPM_TOKEN密钥,将其值替换为刚生成的npm自动化令牌
  3. 验证工作流配置
    当前工作流中.npmrc的配置无需修改,确保如下代码正常执行即可:

    echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> ./.npmrc
    

    自动化令牌会自动绕过OTP验证,无需修改npm publish命令。

额外检查项

  • 确认npm账号2FA设置中允许自动化令牌跳过OTP验证(默认开启该权限)
  • 可在本地测试:使用自动化令牌执行npm publish --dry-run,验证无交互发布模拟是否正常

内容的提问来源于stack exchange,提问作者SNORLAX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:33:25