程序员工作中,有时候执行一些命令会报错类似的信息,如下是一个初始化 Nuxt3
项目时的报错:
ERROR Error: Failed to download template from registry: Failed to download https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json: TypeError: fetch failed
这是什么原因?如何解决?
网络原因!
一般出现这个错误,都是由于网络的原因,尤其是下载 https://raw.githubusercontent.com
域名下的内容时,很容易出现这个问题。
检查是否是网络原因的方法很简单,可以尝试 ping raw.githubusercontent.com
,查看是否能与 raw.githubusercontent.com
联通即可。
如下我的测试情况:
C:\Users\xxhu1>ping raw.githubusercontent.com Ping request could not find host raw.githubusercontent.com. Please check the name and try again.
可以看到问题很严重,无法找到 raw.githubusercontent.com
域名对应的 IP 地址!至于为什么找不到 IP ,目前还没有明确答案,但既然知道是找不到 IP ,导致了我们的下载失败报错,就可以针对性的思考解决办法了。
有两个可以尝试的解决方案,一个是切换网络,一个是手动设置IP。
最简单但 不一定能解决 该问题的方案是:切换网络。
了解域名通信原理的朋友可能知道,域名找不到IP 一般是由于DNS的问题,最简单的方式就是修改你当前的DNS服务地址尝试解决这个问题。
对于普通用户而言,最简单的方法就是切换网络,比如原先使用的是家庭宽带,可以尝试切换为连接手机热点。
但有些用户没有其他网络可以切换,也就无法使用这个方案,或者你在尝试切换网络后,仍然无法解决该问题,则可以使用另一种可能性较高的方案。
以Windows用户为例,其它系统用户参考即可。
Windows系统中有一个文件:hosts
文件,可以手动配置一些域名指向明确的IP,这样即便是 DNS 无法解析到域名的IP,也可以通过手动配置的 IP 访问指定域名。
Windows系统下的这个文件一般在 C:\Windows\System32\drivers\etc
文件夹中,直接使用文本编辑即可。如果你编辑后无法保存,可以尝试将其复制到 D盘 ,修改保存后,再复制回去。
我修改的方式是,再该文件最后增加一行配置:
185.199.108.133 raw.githubusercontent.com
配置完并保存后,可以再次尝试 ping raw.githubusercontent.com
,如下:
C:\Users\xxhu1>ping raw.githubusercontent.com Pinging raw.githubusercontent.com [185.199.108.133] with 32 bytes of data: Reply from 185.199.108.133: bytes=32 time=220ms TTL=50 Reply from 185.199.108.133: bytes=32 time=220ms TTL=50 Request timed out. Reply from 185.199.108.133: bytes=32 time=219ms TTL=50 Ping statistics for 185.199.108.133: Packets: Sent = 4, Received = 3, Lost = 1 (25% loss), Approximate round trip times in milli-seconds: Minimum = 219ms, Maximum = 220ms, Average = 219ms
如果此时能够通信,则可以重复原来的报错操作了。
上文中,配置的 IP 是185.199.108.133
,这是经过域名反查后得到的一个 IP 地址,可能会随着时间变化,所以建议你再配置时自己重新查询一次。
这里推荐一个好用的服务检测工具:WebCheck,打开网站后,将 https://raw.githubusercontent.com
填入输入框,点击 Analyze
即可,下面是我使用时的截图:
建站因为热爱,生活需要Money,请屏幕前的大佬动动您发财的小手,点击一次以示鼓励,祝您生活愉快!
PS:就目前的访问量,即便每个访客都点一次广告,收入也不足以支付运营成本。
如果看不到广告,可能是网络原因或被拦截了,那就算了吧。再次祝您生活愉快~~
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!