问题背景:
明明五一之前用VScode连服务器还是好好的,昨天再连一下就连不上了,报错如下:
解决办法:
经过数个小时的专注排查,最终发现是因为服务器的sda3磁盘满了,导致home/<用户>下的.vscode-server目录无法再写入任何内容,导致vscode无法连接。排查过程不易,还望点赞支持!
过程分析:
拿到报错,我开始排查是哪边的问题,用Xshell和Xftp连了一下,都能连上(或者你们用mobaxterm),所以看着不像是服务器的问题。
用vscode自带的copilot插件排查过了,但是给的回复都看不太懂,就没采纳。
然后考虑是不是本地vscode的问题(当然重启vscode肯定是没用了),我想试着把Remote -ssh插件卸载了,但是点击卸载按钮的时候,依然报错说“无法安装vscode服务器”,连卸都卸不掉。
后来查到了这个帖子:VSCode连不上服务器的几种可能及解决办法 – 知乎,里面提到了这样一段话:
2、VSCode版本升级导致的突然间连不上服务器的问题:
当VSCode某个版本升级以后,会突然出现连不上,报错:waiting for server log,按照我以前的处理办法,分两步走:
1)删除本地Windows端的VSCode缓存:
先删除扩展包等文件,直接删除文件夹 C:\\Users\\[用户名]\\.vscode
然后删除缓存文件夹:
C:\\Users\\[用户名]\\AppData\\Roaming\\Code 和
C:\\Users\\[用户名]\\AppData\\Roaming\\Visual Studio Code
如果找不到AppData,打开显示隐藏文件,文件夹上面的工具栏“查看”—“显示”—“隐藏的项目”。
我删除了它提到的缓存文件夹的第一项:C:\\Users\\[用户名]\\AppData\\Roaming\\Code (第二项没有找到,然后第一个目录C:\\Users\\[用户名]\\.vscode忘删了)。
再打开vscode,会发现界面变了,因为上述操作把预设删掉了,再连一下服务器试试,还是报相同的错误 “无法与XXX建立连接:无法安装VS Code 服务器”。此路不同,再摸索。
接着 VSCode连不上服务器的几种可能及解决办法 – 知乎 这条帖子看:
2)删除服务器上的server文件夹:
一般在/home/[用户名]下面, ls -a可以把隐藏文件显示出来,然后rm -rf .vscode-server将缓存删除。
照做,把/home/<用户名>下的 .vscode-server文件夹删掉了。再vscode连服务器,结果报错 “无法与XXX建立连接:未能创建远程服务器的安装目录” 。
再针对这条报错,去Bing到了这个帖子。无法与 192.168.203.89 建立连接 未能下载 VS Code 服务器(Failed to fetch)——解决方式参考_未能下载vscode服务器-CSDN博客,其中也提到了删除远端.vscode-server的操作:
依据红圈圈部分说的,删掉了.vscode-server后,再连接服务器时应该会创建新的.vscode-server目录才对,可是它却报错说 “未能创建远程服务器的安装目录” ,说明新建.vscode-server这一步就卡住了。(后续的解决也没有再依照这篇帖子)
我这时才怀疑是硬盘存储的问题,赶紧 “df -h” 了一下,发现sda3(就是home所在磁盘)真的满了!到home/<用户>/.cache 里面删了几十个G的缓存之后,再重试连接服务器…成功了!皆大欢喜!费尽周折后终于追根溯源!
注:关于如何查看目录下子文件的磁盘占用情况、如何删除缓存,可自行百度。
综上,虽然是有些流水账,但是一步步排查的过程能逐渐定位到那个最真实的问题,还是很有意义的。
评论前必须登录!
注册