一些节约生命的操作 (墙内加速 git pip conda npm docker)

你是否感觉 pip, npm, git, docker 之类的工具下载安装奇慢?
因为它们的默认服务器都在国外,那么需要必要的设置才能发挥咱百兆光纤的作用。下面介绍方法:



如果你用的是 linux,别折腾了挂代理解决一切问题

简单配置下全局代理,也可以将下面这句加入 profile 中

1
2
# 假如你的代理地址是 http://127.0.0.1:1080
export proxy=http://127.0.0.1:1080; export http_proxy=$proxy https_proxy=$proxy no_proxy="localhost, 127.0.0.0/8, ::1"


privoxy 稍微折腾下见这篇文章

pip 的配置

解决方式:使用国内的pypi镜像加速,以阿里源为例。

方法1 修改配置

  • Linux
1
2
3
mkdir ~/.pip && echo "[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple" > ~/.pip/pip.conf

欲使用其他源,自行搜索替换。更多配置参数见官方文档

  • Windows

打开powershell(不是cmd!),粘贴下面命令。

1
2
3
4
5
mkdir ~/pip/
echo "[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple
" | out-file -encoding ascii ~/pip/pip.ini

解释:在用户目录(C:\Users\Username)下新建名为pip的目录,目录下新建文件pip.ini,写入阿里的镜像源配置。

P.S 因为默认输出编码为utf16会导致pip出错,必须指定编码。

方法2 临时使用

以安装numpy为例。

1
pip install numpy -i http://mirrors.aliyun.com/pypi/simple/

conda 的配置

方法1 配置代理

1
2
conda config --set proxy_servers.http http://id:pw@address:port
conda config --set proxy_servers.https https://id:pw@address:port

ref: Running conda with proxy

方法2 配置国内镜像

1
2
3
4
# 添加 Anaconda 的清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 搜索时显示通道地址
conda config --set show_channel_urls yes

ref: Managing channels

git 的配置

这个就要代理了。

方法1 设置git全局变量

我曾经使用的lantern,它提供两种代理端口: Http(s) 和 Socks5。使用下面命令配置git代理:

1
2
git config --global http.proxy http://127.0.0.1:50219
git config --global https.proxy https://127.0.0.1:50219

或者

1
2
git config --global http.proxy socks5://127.0.0.1:50221
git config --global https.proxy socks5://127.0.0.1:50221

根据你的代理配置,修改对应部分即可。

方法2 设置临时变量

git clone 时可以这么写:

1
ALL_PROXY=http://127.0.0.1:1080 git clone https://github.com/some/one.git

docker

解决方法:使用国内的加速地址。获取途径很多。我使用的是阿里云的容器镜像服务里的专属加速地址。

PCODE 是阿里云帐户的加速前缀,后文中请自行替换。可以在这里获取

  • Linux

修改/etc/docker/daemon.json

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://PCODE.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

P.S Docker版本需大于1.10.0

  • Windows

我的系统是Window10,官方推荐使用 Docker for Windows ,此处不介绍 Docker Toolbox

在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写加速器地址,如下所示:

1
2
3
{
"registry-mirrors": ["https://PCODE.mirror.aliyuncs.com"]
}

编辑完成,点击 Apply 保存按钮,等待Docker重启并应用配置的镜像加速器。

Docker for WindowsDocker Toolbox是不兼容的。

npm 的配置

挂代理是最好的解决办法

1
2
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080


update: 之前的方式均不推荐!

解决方式:也是替换国内的源,以淘宝源为例。

### 方法1 修改默认库配置(不推荐!会有莫名其妙的问题)

1
npm config set registry https://registry.npm.taobao.org


### 方法2 使用cnpm

使用cnpm命令替代npm命令。

1
npm install -g cnpm --registry=https://registry.npm.taobao.org


### 方法3 临时替换下载源

以安装Express为例。

1
npm --registry=https://registry.npm.taobao.org install express


后记

能省一秒是一秒对吧,毕竟不是所有人都有+1s的能力