查看原文
其他

VSCode Remote 报错,无法连接??

小二 编码小二 2023-10-27

各位客官好呀,我是小二!

本期给您分享一下小二踩的坑。

在用 VSCode 通过 Remote 插件,远程连接到开发服务器时,报错(无法连接)的处理过程。

1 错误提示

小二统计了部分错误提示,有这种的

could not establish connection to “XXX“.Connecting was canceled.

还有这种的

VScode remote '_workbench.downloadResource' failed

最后还有这种的

vscode could not establish _workbench.downloadResource

总之,错误提示有很多种,最后小二感觉都是同一种问题。

2 参考资料

老规矩,小二先呈上解决过程中,参考的资料,请您查阅。

【推荐】[Using “Remote SSH” in VSCode on a target machine that only allows inbound SSH connections](https://stackoverflow.com/questions/56718453/using-remote-ssh-in-vscode-on-a-target-machine-that-only-allows-inbound-ssh-co)

VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决(https://blog.csdn.net/ibless/article/details/118610776)

VSCode 报错:could not establish connection to “XXX“.Connecting was canceled.(https://blog.csdn.net/lvshu_yuan/article/details/107117367)

3 问题分析

当我们使用 Remote 连接到远程服务器时,在服务器会有一个 .vscode-server 的隐藏目录,该目录的作用,就是存放不同 VSCode 版本的远程连接信息。

为什么这么说呢?客官您如果仔细观瞧,就会发现,在 .vscode-server/bin 目录有好多不同的 HASH 版本号。

类似下图这样:

参考资料截图

小二理解 正常 的处理逻辑:如果 VSCode 软件有更新,则会自动去下载对应版本的 vscode-server 软件,此时如果我们的 VSCode 有更新多个版本的话,就会在上述目录看到不同的 HASH 版本。

这个 HASH 值,与 VSCode 软件当前版本的提交 HASH 是一致的,位置如下图所示:

如果不正常呢?

此时 VSCode 就不会自动去下载对应版本的 vscode-server 软件,这就导致我们的软件版本已经由 A 更新到 B 了,但是远程连接的 vscode-server 软件还是 A 版本一样。

版本不匹配,肯定就无法正常使用了呀😱😱😱

理解了原因,解决办法也很简单:手动去官网下载对应版本的 vscode-server 软件,手动更新即可!

4 解决步骤

1、查看当前 VSCode 的版本号,就是前图所示提交的 HASH 值,复制下来;

2、替换如下网址中的 $COMMIT_ID ,然后到浏览器打开,即可开始下载软件;

# 稳定版的插件链接
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable

以我的版本为例,如下所示

那么小二应该使用的网址,就是这样的

https://update.code.visualstudio.com/commit:379476f0e13988d90fab105c5c19e7abc8b1dea8/server-linux-x64/stable

然后去浏览器打开此网址

点击回车后,就会自动开始下载文件

小二点了两次做演示

3、下载完毕后,放到服务器对应路径,以小二的版本为例,应该是如下路径

.vscode-server/bin/379476f0e13988d90fab105c5c19e7abc8b1dea8

4、进入该目录,解压对应的压缩包文件,使用如下命令(注意后边的解压选项,是阿拉伯数字 1

tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1

5、解压完毕后,就可以删除多余的压缩包文件

rm vscode-server-linux-x64.tar.gz

6、操作结束,关闭 VSCode ,再重新打开,使其自动连接;或者不关闭软件,重新手动连接服务器也行。

7、到这就没啦,别看啦哈哈😛😛😛

5 总结

1、参考教程,提供了两个版本的 vscode-server 软件链接,分别如下:

# For Stable Version(稳定版本)
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable

#
 For Insider Version(内测版本?)
https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/insider

2、遇到问题,还是应该多查资料,善于利用互联网,特别是学会用 Google !!!

3、理解问题内部的原因,然后解决问题才能斩草除根!

4、折腾了很久,总算是搞定了问题,谢谢提供帮助的各位🧡🧡🧡

最后,小二祝大家顺顺利利的编码,软件配置顺利,编码顺利,永无 BUG !哈哈哈哈~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存