skip to content
usubeni fantasy logo Usubeni Fantasy

墙内开发者的无奈

/ 3 min read

大大的无奈

GWF 内的开发者,特别是安卓和前端开发者,估计真的对下载依赖这事很无奈。

在这里,突然想赞叹一下 goproxy,感谢他给 Gopher 带来的便利 ★,°:.☆( ̄▽ ̄)/$:.°★

说回正事,下个依赖整大半天,幸运的龟速下完,更悲惨的则是直接下不了。

对此,最简单的解决方案就是借用国内的镜像,借助 nrm 你可以轻松切换 npm 的源,当然,其中包括大家熟知的淘宝镜像。

但是切换源也没能解决所有问题,因为有一些依赖不完全托管在 npm。这些依赖在安装前后可能会请求寄存在 github 或其他地方的资源。

原本下载 github 的静态资源(raw.githubusercontent.com)就很慢,到了近年,直接就墙了。还好你可以安装 cnpm,多数人都知道 cnpm 用的就是淘宝镜像,特快,但不止如此,cnpm 对资源中对 github 的依赖也有一些应对措施,对 electron、node-sass 等常用库的资源,cnpm 也进行了镜像。

但是其他的冷门库就没这么幸运了,你需要再想想办法。

其一,改 host,就相当于给你的地址加一个电话本,请求这个地址的时候就直接知道一个可用的 ip。详细做法看这里

其二,就用些科学的方法下载你的依赖……至于怎么科学,就不在这里展开了,下面直接以科学的 sock 协议为例:

对安卓来说比较简单,有图形界面,直接把 sock5 填到 proxy 就行了。

在 cmd 中需要运行:

set http_proxy=socks5://127.0.0.1:1080
set https_proxy=socks5://127.0.0.1:1080

然后运行 echo %http_proxy% 可知已经修改,接着再来一个 curl ifconfig.io,看到 ip 变了,那就是修改成功了。

npm 安装时的暴力全覆盖

Terminal window
npm config set registry http://registry.npmjs.org/
npm config set proxy http://127.0.0.1:1080
npm config set https-proxy http://127.0.0.1:1080
npm config set strict-ssl false
set HTTPS_PROXY=http://127.0.0.1:1080
set HTTP_PROXY=http://127.0.0.1:1080
export HTTPS_PROXY=http://127.0.0.1:1080
export HTTP_PROXY=http://127.0.0.1:1080

npm 设置完 socks5 报 tunneling socket could not be established, cause=socket hang up 也不知道怎么解决。

最好还是把 sock5 再代理一次到 http 吧(我直接用的 trojan QT5,挺方便的),唉。

git push 上不去

Terminal window
git config --global http.sslVerify "false"
git config --local http.proxy 127.0.0.1:58591

其他参考连接

评论组件加载中……