VSCode使用Remote-SSH连接服务器时报错:无法与“***”建立连接: XHR failed.

关于VSCode的报错问题:无法与“***”建立连接: XHR failed

  • 问题描述
  • 问题理解
  • 解决方法
    • 手动在本地下载安装包,然后手动传到服务器端

问题描述

是的,我又踩坑了,而且这个弄了好久,也重新装了VSCode软件,好像结果并不是自己想要的
这个时间参考大佬的教程,自己也简单做了记录

VSCode使用Remote-SSH连接服务器时报错:无法与“***”建立连接: XHR failed._第1张图片
报错日志

[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软件

手动在本地下载安装包,然后手动传到服务器端

  1. 通过使用连接服务器的软件(Xshell、MobaXterm)连接服务器,进入远程服务器的Terminal。
  2. 在服务器端,进入.vscode-server目录(这个目录一般是会隐藏起来,故使用ll -a命令查看到目录),通过ll .vscode-server/bin获取commit id(一大串随机字符和数字);ll .vscode-server/bin/commit id,下载不成功时文件夹下内容为:

    注意:有时候.vscode-server/bin下面有很多个这样的文件夹,可以通过查看内容判断哪个文件夹需要手动下载文件。把需要手动下载的commit id记录下来。
  3. 确定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
  4. 下载后会得到一个vscode-server-linux-x64.tar.gz,将其通过sftp等方式传到服务器上。
    路径:~/.vscode-server/bin/COMMIT_ID/vscode-server-linux-x64.tar.gz
  5. 把下载的文件传到刚才那个 commit id 文件夹下,并用以下命令解压:
cd .vscode-server/bin/$COMMIT_ID
tar -zxvf vscode-server-linux-x64.tar.gz
  1. 解压后会出现一个目录:vscode-server-linux-x64,把该目录下的所有文件移动到commit id目录下,解压后的文件如下:
  2. 再次用 VS Code 登录就成功了!

你可能感兴趣的:(shell,一些小应用+技巧+方法,vscode,ssh,服务器)