# 前端可能用到的工具的代理设置方法

因为众所周知的原因,很多国外的资源没法下载,或者速度很慢;最近编译了一次V8,下载过程中再次充分体会到了这一点……所以就稍微记录一下平时用到的一些工具的代理的设置方法。因为我主要用的是Windows,下面的内容也是基于Windows的。

提示:本文不是翻墙教程,只是探讨可能的设置代理的方法。

此外,这些方法的设置主要是临时性的(npm和yarn除外)。为什么不搞个持久化的方式,因为我不想因为某次忘了关,或者代理的端口变了,导致连不上网,然后花很长时间去排查问题;可以写个脚本啥的。


# 验证方式

curl -vv http://www.google.com

我一开始没想到Windows下也能用curl。

# Windows命令行(CMD)

set http_proxy=<protocol>://<host>:<port>
set https_proxy=<protocol>://<host>:<port>

事实上,就我所知,大部分的代理的host是在localhost上的,主要是协议和端口有所不同。

# Git Bash

export http_proxy=<protocol>://<host>:<port>
export https_proxy=<protocol>://<host>:<port>

其实是差不多的写法。

此外,之前看到有人提到在Git层设置代理,具体写法如下:

git config --global http.proxy '<protocol>://<host>:<port>'
git config --global https.proxy '<protocol>://<host>:<port>'

但是在我这里没有生效,也不知道为什么。不过很多人说有效,姑且记录一下。

# npm

老生常谈的内容了。一般来说也不太需要代理,因为有国内镜像。

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

并且,有些内容也是有国内镜像的。比如著名的node-sass,有三种方式进行install。

比如,在shell里设置环境变量:

export SASS_BINARY_SITE=http://example.com/

或者,在.npmrc文件里增加一个配置:

sass_binary_site=http://example.com/

再或者,直接作为命令行的参数:

npm install node-sass --sass-binary-site=http://example.com/

实在是在国内找不到的时候,就用这个设置代理:

npm config set proxy <protocol>://<host>:<port>

类似的库还有一些测试用的driver,比如chromedriver和geckodriver,做e2e测试的时候会用到。举个例子:

npm install chromedriver --chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver \
&& npm install geckodriver --geckodriver_cdnurl=http://npm.taobao.org/mirrors/geckodriver

# yarn

yarn设置国内镜像的方法和npm差不多:

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

其实我更喜欢用原生的npm,但是似乎很多开源项目都用的yarn,部分项目更是明确要求用yarn来安装依赖,所以还是很有用的。

yarn config set proxy <protocol>://<host>:<port>
yarn confit set https-proxy <protocol>://<host>:<port>
最后更新于: 6/25/2020, 2:10:06 PM