一、问题概述
vscode 获取扩展失败,XHR failed
平时vscode只是用来跑一跑C/C++代码,最近想装一个插件的时候在插件商店搜索的时候却报错XHR failed,然后在网上查了查,似乎是连不上网,可能是代理出了问题。这才想起来似乎vscode好久没有给我推过版本更新或者推荐插件什么的了,可能是无法联网的原因。
二、解决方法
网上的解决方法是修改vscode里的设置,将代理移除,但是我按照这种方法并不奏效。
Win10解决vscode获取扩展失败,XHR failed(亲测可以解决)_苏打不会碱的博客-CSDN博客
后来在查找解决方法的时候偶然发现了这篇文章:
VS Code代理设置错误 - 许你一世煙花 - 博客园 (cnblogs.com)
里面提到:
VS Code会去读取系统变量HTTP_PROXY的值设置为代理地址,去查了下系统环境变量设置里面果真有这个变量,删除后即可解决VS Code商店连不上的问题
按照他的方法我确实在电脑上找到了HTTP_PROXY(我的是小写)这个系统变量,并且它的值是127.0.0.1:32100(可能是这样,删的果断了点没太记住)。按道理来说我的代理的端口是7890,显然他这里的端口值不太对,我没有去修改而是直接删除了这个变量。
删除后我尝试重启vscode,试了下发现还是连不上网,发现是因为我的vscode设置中设置了代理http://127.0.0.1:7890
,但是我此时并没有开启代理,将代理开启后就可以正常联网了。
当然,如果不想开代理的话就将上面的http://127.0.0.1:7890
删除,这样不开代理的情况下也可以正常联网。
三、意外收获
上面那篇文章中还提到了一点:
同时还发现HTTP_PROXY这个环境变量还被被其他软件环境读取作为代理地址,比如yarn,造成依赖下载被代理到指定地址导致失败。
其他软件也会读取HTTP_PROXY这个环境变量作为代理地址,突然想起之前自己电脑在使用群晖chat(Synology chat)的时候客户端一直无法正常登录,但是使用虚拟机或者其他人的电脑就可以正常登录,很奇怪,当时怀疑是自己电脑某个端口或者设置导致的,但是在网上搜索了很久都没有找到解决方案,一直搁置,使用的网页版。
所以我突然想到会不会当时无法登录也是因为这个环境变量呢?抱着试一试的心态打开客户端登录了一下,发现居然登陆成功了!害人不浅啊这个环境变量!😭
所以如果你有某些软件一直登录不成功,不妨也检查一下自己的环境变量。