FIX BUG:failed to connect to github.com: Operation timed out; class=Os (2)

项目场景:

系统 & App:OSX MAC m1 、zsh、clashX
命令行运行 git 时,与 github 服务器无法建立连接。
failed to connect to github.com: Operation timed out; class=Os (2)


问题描述

Input:
cargo install --git https://github.com/project-serum/anchor anchor-cli --locked

Output:

Caused by:
	failed to fetch `https://github.com/xxx`
Caused by:
	  failed to send request: 无法与服务器建立连接; class=Os (2)

解决方案

假设屏幕面前的菜鸟你使用的是 zsh ,并且你有ClashX~不懂请 Google~
你需要点击 ClashX ,点击复制终端代理命令,然后将其放在本地 zsh 配置文件中。
通用的操作设置为:

  1. vi ~/.zshrc 修改配置文件
  2. 将对应的终端代理命令写入 zshrc 文件
  3. source ~/.zshrc 是配置文件生效

OK,这时候你就会发现你的 git 命令可以正常运行了。


原因分析

命令行未设置正确的 proxy,导致访问 github 服务器失败。
我们可以看一下我们复制得到的终端代理命令:

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

PS:这里为了高度还原 fix bug 的过程,我将自己电脑中的配置贴了出来,实际上每个人的配置应该是因程序而异的,所以你应该找到属于自己的那个最合适的 proxy address~

什么是 http proxy?
HTTP 代理充当 HTTP 客户端和 HTTP 服务器的两个中间角色,用于安全、管理和缓存功能。HTTP 代理将 HTTP 客户端请求从 Web 浏览器路由到 Internet,同时支持 Internet 数据的缓存。

代理服务器的优势包括

  1. 保持身份匿名性作为安全预防措施。
  2. 加快缓存速度。
  3. 访问被禁止的网站。
  4. 在某些网站上执行访问策略。
  5. 允许站点发出外部服务器请求。
  6. 避免安全控制。
  7. 绕过 Internet 过滤以访问被禁止的内容。

如果这篇 Bug 日志对你有所帮助~
欢迎关注我的公众号夏虫不可语冰也
夏虫不可语冰也

这里有更多你需要的信息哦~

猜你喜欢

转载自blog.csdn.net/weixin_43616215/article/details/124500926
今日推荐