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

执行yarn clasp login时访问令牌获取失败,证书验证出错求助

执行yarn clasp login时访问令牌获取失败,证书验证出错求助

你好,看了你的问题描述,我整理了几个可能解决这个证书验证错误的方法,你可以逐一尝试:

一、先确认错误场景

你运行命令后出现的错误日志如下:

yarn run v1.22.22
$ C:\Users\myname\Desktop\個人開発プロジェクト\clasp-240418\node_modules\.bin\clasp login

Error retrieving access token: FetchError: request to https://oauth2.googleapis.com/token failed, reason: unable to verify the first certificate
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

这个错误确实大概率是SSL证书验证不通过导致的,结合你提到的ESET杀毒软件,它的SSL拦截功能很可能是元凶,下面是具体的解决方向:

二、解决方法

1. 临时关闭证书验证(仅测试用,不推荐长期使用)

如果只是临时需要完成登录,可以通过Node.js的环境变量跳过证书验证,在命令行执行:

set NODE_TLS_REJECT_UNAUTHORIZED=0 && yarn clasp login

(Windows系统用set,如果是macOS/Linux系统则替换成export)

2. 配置ESET排除SSL扫描的域名

ESET的协议过滤功能会替换HTTPS证书,导致Node.js无法验证。你可以把Google OAuth相关域名加入ESET的信任列表:

  • 打开ESET主界面,进入「设置」-「Web和电子邮件」-「协议过滤」
  • 在「排除的地址」里添加以下域名:
    • oauth2.googleapis.com
    • accounts.google.com
  • 保存设置后,重新运行yarn clasp login试试

如果添加排除后还是不行,可以临时关闭「协议过滤」功能,测试是否能正常登录,确认是ESET导致的问题后再调整配置。

3. 导入ESET根证书到Node.js信任列表

如果不想关闭ESET的扫描,可以导出ESET的根证书,让Node.js信任它:

  1. 打开浏览器(比如Chrome),访问任意HTTPS网站,点击地址栏的锁图标,查看证书信息,找到ESET的根证书并导出为.crt格式的文件
  2. 设置Node.js的环境变量指向这个证书文件,然后运行命令:
set NODE_EXTRA_CA_CERTS="C:\你的证书路径\eset-root.crt" && yarn clasp login

4. 更新clasp到最新版本

旧版本的clasp可能存在证书相关的兼容问题,试试更新到最新版:

yarn global add @google/clasp@latest

三、额外提示

你之前尝试添加自签证书到Node.js环境变量没生效,可能是因为实际拦截证书的是ESET的证书,而不是你自己生成的,所以优先处理ESET相关的配置会更有效。

备注:内容来源于stack exchange,提问作者Eisuke Kainuma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:12:57