在相同网络状况下,有的同事就可以打开gitHub,而自己却不可以,是不是很纳闷(不解)?
以下是我在出现本地电脑无法访问github时的两种解决方案;
方案一:
同大多数的解决文档一样,我也是试用了该方案解决了访问github的问题(ps但是每次打开github很慢)
首先,我们先检查我们的host文件,
sudo vim /private/etc/hosts
有没有像这样?
这样,在我们方案对应域名的网站时,就会固定解析成前面的IP地址。可能你上次配置的IP地址已经失效了,我们可以更新它。
# GitHub Start
140.82.112.3 github.com
# GitHub End`
如果没有# GitHub Start 与 # GitHub End 我们也可以使用此方案去更新它,一样好用。
我们需要用到一个好用的网站https://websites.ipaddress.com/
https://websites.ipaddress.com/github.com 也可以直接解析github.com域名的IP
此后我们改为以下就好了。
# GitHub Start
140.82.112.4 github.com
# GitHub End`
切记,不要直接使用网上的IP地址就以为配置好了,因为域名对应的ip地址会不定期更换,所以在修改时一定要自己去查看一遍哦!~
更新后我们就可以愉快的访问github了,不过亲测,虽然可以访问,但是比较慢。
测试访问github是否正常可以使用打开网页的形式验证github http连接是否正常
或者使用ssh -T git@github.com
查看ssh连接是否正常
方案二:
如果你的host文件中并没有# GitHub Start 与 # GitHub End,那么我们有理由 怀疑是DNS解析出现了问题,
我们可以使用
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed
来清空dns缓存,此时你的MAC会出声音哦!
再次打开gitHub,第一次加载可能比较慢,加载过有缓存后后面就会快很多了!
如果此时你的host文件中已经配置了github的相关域名信息,建议是问问身边的开发同事的配置是如何的,如果他们可以访问,比对一下就好啦。
好比如我同事可以访问github而我需要按照方案一的形式配置,于是我今天删除了host文件中关于github的所有设置信息,再使用sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed命令清理DNS缓存,目前访问速度超级棒。
如果你是在使用cocopods的时候遇到了以下问题
[!] CocoaPods was not able to update the `Categroy` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`
按照提示pod repo update --verbose也不好使,可能是你本地的repo仓库比较多,有的已失效,可使用
pod repo list
查看仓库列表,并删除错误中提示的仓库即可
如:
pod repo remove Categroy
如果你在使用一些github上的一些第三方类时出现
fatal: unable to access 'https://github.com/supersunS/AudioPlay.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
使用ssh -T git@github.com查看连接是否正常,如果出现
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
表示你的github ssh连接正常,再去查看其它方案吧,本文暂不涉及。
如果出现
/Users/helloworld/.ssh/config: line 6: Bad configuration option: http.sslverify
/Users/helloworld/.ssh/config: terminating, 1 bad configuration options
如描述一样,.ssh/config文件出现了问题,对此问题的对应行数进行修改即可。