npx: getaddrinfo ENOENT raw.githubusercontent.com , unable to verify the first certificate

1 篇文章 0 订阅
1 篇文章 0 订阅

操作过程:

运行 npx 报错

PS xx> npx crawlee create book-crawler
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: getaddrinfo ENOENT raw.githubusercontent.com
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'getaddrinfo',
  hostname: 'raw.githubusercontent.com'
}
  • 尝试找到 raw.githubusercontent.com 的IP,配置 host 失败后重试,失败!!!(原因分析:IP有误或者“网络情况太差”)
  • 尝试找开源的加速工具(原理忽略),正好steam++中有,下载最新版(已改名Watt Toolkit),安装完成后打开github加速,解决了上面的错误,但是出现下面新的错误:
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: unable to verify the first certificate
    at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)
    at TLSSocket.emit (node:events:513:28)
    at TLSSocket._finishInit (node:_tls_wrap:959:8)
    at ssl.onhandshakedone (node:_tls_wrap:743:12) {
  code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
}
  • 尝试关闭 node 证书验证, npm config set strict-ssl false , 未解决问题。

原因分析:

getaddrinfo ENOENT raw.githubusercontent.com错误是因为域名无法解析IP,所以理论上通过配置host能解决,但实际上大部分情况可能不能,只能借助别的方法。如上面使用开源加速工具等。

unable to verify the first certificate 错误则是 node 安装或者执行包时需要验证请求者的CA证书,如果请求者的CA颁发机构不在信任列表里面,则会报错。(特别是自签证书)


解决方案:

继续在 Watt Toolkit 中操作:进入网络加速界面,首先安装证书,然后就可以打开证书文件夹,查看证书路径。然后,在node扩展证书配置中加入我们的证书路径(.crt或.cer后缀的文件)

打开证书文件夹
我这里是 C:\Users\Administrator\AppData\Local\Steam++\Plugins\Accelerator\SteamTools.Certificate.cer

具体配置命令如下:

$Env:NODE_EXTRA_CA_CERTS="C:\Users\Administrator\AppData\Local\Steam++\Plugins\Accelerator\SteamTools.Certificate.cer"

配置完成后,重新运行安装命令,这次可以成功安装了。

配置依据 https://playwright.dev/docs/browsers#install-behind-a-firewall-or-a-proxy

配置依据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

singi2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值