更新vscode后链接远程服务器出现了报错‘无法建立连接:远程主机不满足运行vscode服务器的先决条件’20250408
更新了vscode之后再链接远程服务器出现了报错,如下:
1. 确认服务器上的库版本
1.1 检查 glibc 版本
在服务器终端运行:
ldd --version
最低要求:VS Code 远程开发需要 glibc ≥ 2.28。
1.2 检查 libstdc++ 版本
在服务器终端运行:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
最低要求:VS Code 需要包含 GLIBCXX_3.4.22
及以上版本。
2. 根据检查结果选择解决方案
情况一:glibc/libstdc++ 版本确实过低
2.1 升级系统库(推荐)
- Ubuntu/Debian:
sudo apt update && sudo apt upgrade -y
sudo apt install libc6 libstdc++6
情况二:库版本已满足要求,但 VS Code 误报
2.4 重置 VS Code 远程服务
删除旧的 VS Code 远程服务并重新安装:
# 在服务器终端运行
rm -rf ~/.vscode-server
关键注意事项
- 生产服务器谨慎升级:若为生产环境,升级前需备份数据并测试兼容性。
- 旧系统建议迁移:若服务器为 CentOS 7 等老旧系统,建议迁移到 Ubuntu 22.04 LTS 或 Rocky Linux 9。
- 权限问题:若没有
sudo
权限,联系管理员或使用容器方案
由于我没有管理权限,所以选择回退vscode版本:1. 首先在VSCODE设置内搜索 update
将update mode 更改为 none 2. 上vscode官网(code.visualstudio.com/updates)下载需要的版本。重新打开后可以正常进行远程连接了。
参考了这篇帖子VSCode/bugs/如何给VSCode降级-CSDN博客
问题原因在vscode官网上给出了解释:
我可以在旧版 Linux 发行版上运行 VS Code Server 吗?
从 VS Code 版本 1.99(2025 年 3 月)开始,VS Code 分发的预构建服务器仅与基于 glibc 2.28 或更高版本的 Linux 发行版兼容。例如,这些发行版包括 Debian 10、RHEL 8 或 Ubuntu 20.04。
如果提供了具有这些所需库版本的 sysroot, VS Code 仍将允许用户通过Remote - SSH扩展连接到 VS Code 不支持的操作系统(没有 glibc >= 2.28 和 libstdc++ >= 3.4.25 的操作系统)。这种方法让您和您的组织有更多时间迁移到较新的 Linux 发行版。