2024.2.11 火线更新:现在VSCode可以顶着旧版Linux服务器硬用了,意思是开兼容了:
但是还是建议安装1.85版并禁用更新。为了不影响主VSCode,可以安装portable版。见后文
官方文档:https://code.visualstudio.com/docs/remote/faq#_can-i-run-vs-code-server-on-older-linux-distributions
问题的流程是:
- 前几天连接服务器时一切正常
- 今天连接服务器时突然显示
The remote host may not meet VS Code Server's prerequisites for glibc and libstdc++
- 尝试以下解决方案均无效,最后发现是VSCode更新版本后提高了对服务器版本的要求,通过降低VSCode版本并关闭自动更新,然后重新安装插件,解决了问题
详细解决思路:
- 首先用putty登录服务器,查看硬盘储存量,发现绰绰有余,说明不是储存空间被挤爆了
- 直接删除.vscode-server和.vscode这两个文件夹,然后重新登录。报错
The vscode server failed to start
(在这里由于服务器网络的问题导致不能自动更新vscode-server的问题可以参考这篇博文来解决:VSCode连接远程服务器时无法下载或上传vscode-server) - 最后参考这个回答1(在我第一次写这篇博文7小时前写的回答,感动中国,感恩的心),我发现可能是因为我更新了最新版的VSCode,新版的VSCode要求glibc>=2.28:
图源官方文档:Linux Prerequisites for Visual Studio Code Remote Development
我用WinSCP远程登录后运行ldd --version
发现glibc是2.27,我服了真是。 - 然后我改为安装1.85版的VSCode(https://code.visualstudio.com/updates/v1_85),并关闭了VSCode自动更新(具体操作见VSCode编程小技巧集锦(持续更新ing…))
2024.2.11 更新:如果直接在这个网站中下载x64版将会直接覆盖主VSCode,如果下载安装portable就不会。安装portable版的方法是:- 第一步:下载https://update.code.visualstudio.com/1.85.2/win32-x64-archive/stable中的zip文件(其他系统请在这里找下载地址:https://code.visualstudio.com/docs/supporting/faq#_previous-release-versions)
- 第二步:解压文件并在文件夹中新建data文件夹
- 第三步:直接点击Code.exe文件即可打开新的VSCode,然后对这个新的VSCode就按照正常操作来做就可以
参考文档:Portable Mode in Visual Studio Code
- 然后卸载Remote - SSH插件,并在插件商店中重新安装
- 然后远程服务器就可以正常使用啦!