yarn tunneling socket could not be established, cause=getaddrinfo ENOTFOUND xxxx
前段时间,我的 yarn 一直报错:
tunneling socket could not be established, cause=getaddrinfo ENOTFOUND xxx
// xxx 是代理端口
错误原因
我看到 xxx 就知道是我代理出了问题。我也做了测试: yarn 设置了代理之后是可以正常运行的, 设置如下:
yarn config set proxy http://127.0.0.1:xxxx
但是, 我删除代理之后还是 yarn 不能访问网络:
yarn config delete proxy
yarn config delete https-proxy
我也查了相关资料,可以确定是代理出了问题。
解决
知道了原因,就慢慢排查。
- 首先,确定 yarn 的配置里面是不是有代理配置:
yarn config get proxy
yarn config get http-proxy
- 查看 yarn 的配置文件:
C:\Users\xxx\.yarnrc
另外,我还用everything
查找了所有.yarnrc
文件,都没有proxy
配置(没什么用) - 确认了一下 npm 是不是有代理配置(没用);
- 最后,查看了环境变量,在用户变量中有一个
https-proxy=http://127.0.0.1:xxx
。至此,终于找了根源。 - 删除
https-proxy
环境变量,重启,完成!
后记
这个问题困扰了我差不多一个月,终于解决了,在解决之前我一直配代理用 yarn。有些问题就是这样,虽然简单,但是想不到的时候很抓狂。