当前位置:   article > 正文

npx: getaddrinfo ENOENT raw.githubusercontent.com , unable to verify the first certificate_node:internal/process/promises:288 triggeruncaught

node:internal/process/promises:288 triggeruncaughtexception(err, true /* fro

操作过程:

运行 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'
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 尝试找到 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'
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 尝试关闭 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"
  • 1

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

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

配置依据

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号