问题的发现
- 最近访问github,网页上的图片总是访问不了,我以为公司网络禁止了,不影响,也就没有解决
- clone项目后,
yarn
&install
都报错,报错信息如下:
Error: getaddrinfo ENOENT raw.githubusercontent.com at GetAddrInfoReqWrap.onlookup
域名地址解析失败,导致地址无法连接
解决方法
- 查询域名对应的真实IP
https://www.ipaddress.com 修改host文件
1). 对应地址:windows: %systemroot%\system32\drivers\etc linux: /etc/hosts
2).打开文件后添加在1上查找到的地址和ip(这个对应的需要自己去查一下,网上一些旧的用也是不可以的)
eg:# github相关 52.74.223.119 github.com 192.30.253.119 gist.github.com 54.169.195.247 api.github.com 185.199.111.153 assets-cdn.github.com 151.101.108.133 user-images.githubusercontent.com 199.232.96.133 gist.githubusercontent.com 199.232.96.133 cloud.githubusercontent.com 199.232.96.133 camo.githubusercontent.com 199.232.96.133 raw.githubusercontent.com 199.232.96.133 avatars0.githubusercontent.com 199.232.96.133 avatars1.githubusercontent.com 199.232.96.133 avatars2.githubusercontent.com 199.232.96.133 avatars3.githubusercontent.com 199.232.96.133 avatars4.githubusercontent.com 199.232.96.133 avatars5.githubusercontent.com 199.232.96.133 avatars6.githubusercontent.com 199.232.96.133 avatars7.githubusercontent.com 199.232.96.133 avatars8.githubusercontent.com
- windows 修改host生效方法
打开cmd窗口
ipconfig /displaydns &:: # 显示所有 dns内容
ipconfig /flushdns &:: # 刷新所有 dns内容
原理
要了解这个问题的本质,我们应该回想一下,一个网页打开的时候,经过了哪些处理,用一张图看一下
从上图可以看到,我们域名解析先会拿本地的缓存(浏览器/电脑),当我们无法域名解析失败的时候,我们可以先去https://www.ipaddress.com网站查询网站对应的ip信息,用缓存的方式直接在本地添加对应的解析规则,这样便可以正常访问
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。