关于VSCode的报错问题:无法与“***”建立连接: XHR failed
- 问题描述
- 问题理解
- 解决方法
- 手动在本地下载安装包,然后手动传到服务器端
问题描述
是的,我又踩坑了,而且这个弄了好久,也重新装了VSCode软件,好像结果并不是自己想要的
这个时间参考大佬的教程,自己也简单做了记录
报错日志
[09:51:46.053] Downloading VS Code server locally...
[09:51:46.542] Resolver error: Error: XHR failed
at k.onerror (vscode-file://vscode-app/d:/software/coding/VScode/Install/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:95:2027)
问题理解
ssh_remote 出现 XHR failed 问题,说白了就是远程主机的网络有问题(测试环境:虚拟机linux)。
如果只是虚拟机的话,建议就是把 net 8 NAT 的 dhcp 租赁时长调到最大(linux中的静态ip配不配无所谓,最终目的是能够ping 通 internet),ip租赁时间太短的话,ip到期,即使能用,dhcp也会拒绝让你使用。时间调长就省的每次自动分配到新 ip 就 连不上(头大)。
XHR (XMLHttpRequest),使用 JavaScript 发起网络请求时出现的错误,XHR 是一种用于在浏览器中发送异步 HTTP 请求的 API。
默认有从当地下载上传到服务器的选项,和服务器没有联网也没有关系,重新安装vscode有时候也会解决这个问题。
解决方法
手动在本地下载安装包,然后手动传到服务器端
,另外一个暴力的方法就是重装VSCode软件
。
手动在本地下载安装包,然后手动传到服务器端
- 通过使用连接服务器的软件(Xshell、MobaXterm)连接服务器,进入远程服务器的Terminal。
- 在服务器端,进入
.vscode-server
目录(这个目录一般是会隐藏起来,故使用ll -a
命令查看到目录),通过ll .vscode-server/bin
获取commit id
(一大串随机字符和数字);ll .vscode-server/bin/commit id
,下载不成功时文件夹下内容为:
注意
:有时候.vscode-server/bin
下面有很多个这样的文件夹,可以通过查看内容判断哪个文件夹需要手动下载文件。把需要手动下载的commit id记录下来。 - 确定
commit id
后就需要手动下载包了,注意下面的COMMIT_ID要替换成自己在上一步得到的commit id。命令如下
稳定版下载链接:https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable
内测版下载链接:https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/insider
如我的稳定版链接就是:https://update.code.visualstudio.com/commit:2ccd690cbff1569e4a83d7c43d45101f817401dc/server-linux-x64/stable
- 下载后会得到一个vscode-server-linux-x64.tar.gz,将其通过sftp等方式传到服务器上。
路径:~/.vscode-server/bin/COMMIT_ID/vscode-server-linux-x64.tar.gz
- 把下载的文件传到刚才那个 commit id 文件夹下,并用以下命令解压:
cd .vscode-server/bin/$COMMIT_ID
tar -zxvf vscode-server-linux-x64.tar.gz
- 解压后会出现一个目录:vscode-server-linux-x64,把该目录下的所有文件移动到commit id目录下,解压后的文件如下:
- 再次用 VS Code 登录就成功了!