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

作者: 王炳明 分类: 工具库 发布时间: 2021-11-09 23:15 热度:1,583

1. pip 镜像源

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

pip install requests

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

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

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

windows

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

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

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/

[install]
trusted-host=tsinghua.edu.cn

macOS

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

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

2. Github 镜像

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

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

比如你要 clone 该仓库

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

可以换成这个

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

3. brew 镜像源

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

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

设置方法

查看下原来的仓库是 github

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

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

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

同时设置一下环境变量

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

最后执行下边两条命令

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

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

4. iTerm2 下载代理

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

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

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

export ALL_PROXY=socks5://127.0.0.1:1080

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

unset ALL_PROXY

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

5. go get 镜像源

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

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 等网络问题的 6 种方案

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

185.199.108.154 pkg-containers.githubusercontent.com

文章有帮助,请作者喝杯咖啡?

发表评论