服务器之家

服务器之家 > 正文

解决 Github 等网络问题的七种方案

时间:2021-11-29 23:44     来源/作者:Python编程时光

解决 Github 等网络问题的七种方案

大家好,我是明哥~

网络问题应该是每一个开发者绕不过的问题,不管是 Python 开发者,还是 Go 工程师,或者你是其他语言的,你也肯定绕不开 Github 这个宝库。

本文总结了我日常会接触到的一些网络问题解决方案(不仅是 github,可能还夹杂其他的),可以给大家的日常开发工作提供一些便利。

# 1. pip 镜像源

首先第一个先解决大多数 Python 开发者相关的网络问题 -- 包安装。

由于在使用 pip 安装一些包时,默认会使用 pip 的官方源,而 pypi 的服务器在国外,所以经常会报网络超时失败。

  1. pip install requests

常用的解决办法是,在安装包时,使用 -i 参数指定一个国内的镜像源。但是每次指定就很麻烦呀,还要打超长的一串字母。

这时候,其实可以将这个源写进 pip 的配置文件里。以后安装的时候,就默认从你配置的这个 源里安装了。

那怎么配置呢?文件文件在哪?

windows

使用win+r 输入 %APPDATA% 进入用户资料文件夹,查看有没有一个 pip 的文件夹,若没有则创建之。

然后进入这个 文件夹,新建一个 pip.ini 的文件,内容如下(这边使用清华的源)

  1. [global]
  2. index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
  3. [install]
  4. trusted-host=tsinghua.edu.cn

macOS

直接在家目录下,新建一个 pip.conf (这边使用阿里云的源)

解决 Github 等网络问题的七种方案

# 2. Github 镜像

从 Github 上 Clone 仓库经常网络不给力,怎么办?

使用镜像站:https://hub.fastgit.org

比如你要 clone 该仓库

  1. $ git clone https://hub.fastgit.org/iswbm/magic-python.git

可以换成这个

  1. $ git clone https://hub.fastgit.org/iswbm/magic-python.git

# 3. brew 镜像源

如果你使用的是 macOS ,那么你肯定遇到过 brew update 或者 brew install 经常失败吧?

brew 默认的源是Github,下载会非常慢,可以替换为国内的镜像源,这边推荐中科大的镜像源,比较全面一点。

设置方法

查看下原来的仓库是 github

  1. $ cd "$(brew --repo)"
  2. $ git remote -v
  3. origin https://github.com/Homebrew/brew.git (fetch)
  4. origin https://github.com/Homebrew/brew.git (push)

用 git 命令重新设置下指向的仓库地址

  1. git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

同时设置一下环境变量

  1. echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
  2. source ~/.bash_profile

最后执行下边两条命令

  1. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
  2. git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
  3. cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask "
  4. git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

# 4. iTerm2 下载代理

iTerm2 是 mac 上一款终端工具,我经常使用 wget 下载一些外面的资源。

如果一个域名一个域名去查对应的 ip 地址,有点麻烦。

想省事的话,可以执行如下命令开启

  1. export ALL_PROXY=socks5://127.0.0.1:1080

执行如下命令取消全局代理

  1. unset ALL_PROXY

有时候开了代理 反而失败,可以多次切换尝试。

# 5. go get 镜像源

使用 Go 的朋友都知道,go get 安装包都是从 github 下载的,可以执行如下命令为其配置一个镜像网站

  1. go env -w GOPROXY=https://goproxy.cn,direct

常用的镜像源有下面三种,你选一种即可:

  • https://goproxy.io
  • https://goproxy.cn
  • https://mirrors.aliyun.com/goproxy/

# 6. 指定ip访问

使用 brew intall 安装一些包,虽然主项目是从镜像网站上下载的,但有一些依赖包还是会从 github 上下载,自然就下载败了。

可以查看一下安装日志,看看是哪里失败的,以我的经历为例,若是看到 pkg-containers.githubusercontent.com 访问失败

可以去 https://www.ipaddress.com/ 查看其指向的 IP 地址

解决 Github 等网络问题的七种方案

然后将查得的 ip 填入 /etc/hosts

  1. 185.199.108.154 pkg-containers.githubusercontent.com

# 7. 使用 Github520

你使用浏览器访问 Github 的时候,是不是经常加载很久,等了几分钟页面加载出来了,页面却还是不全,图片、头像都显示不出来。

那么推荐你使用 Github520,它是由 HelloGithub 团队出品,每天会定时更新一些可用的 hosts,你只要写个定时任务自动抓取替换你机器上的 hosts 文件即可。

抓取的数据来源:

  • 文件:https://raw.hellogithub.com/hosts
  • JSON:https://raw.hellogithub.com/hosts.json

不同操作系统的 hosts 文件路径都不一样,详情如下:

  • Windows 系统:C:\Windows\System32\drivers\etc\hosts
  • Linux 系统:/etc/hosts
  • Mac(苹果电脑)系统:/etc/hosts
  • Android(安卓)系统:/system/etc/hosts
  • iPhone(iOS)系统:/etc/hosts

更改完后,记得要刷新 DNS(如果刷新后无效,可以重启机器看看)

  • Windows:在 CMD 窗口输入:ipconfig /flushdns
  • Linux 命令:sudo nscd restart,如报错则须安装:sudo apt install nscd 或 sudo /etc/init.d/nscd restart
  • Mac 命令:sudo killall -HUP mDNSResponder

更多详细的内容,可以前往 https://github.com/521xueweihan/GitHub520

原文链接:https://mp.weixin.qq.com/s/teSAp5ZI1tfzqRM4hUdvjQ

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部