就在几天前,我发现vscode无法成功连接服务器,并且报错提示”远程主机可能不符合glibc和libstdc++ VS Code服务器的先决条件”(“This machine does not meet Visual Studio Code Server’s prerequisites”)。根据vscode官方网站的要求Requirements for Visual Studio Code,如下:
GLIBCXX version 3.4.25 or later
GLIBC version 2.28 or later
检查服务器glibc和libstdc++的版本,发现均符合要求,我远程服务器的操作系统为Ubuntu 24.04.4 LTS,本地vscode版本如下:
Version: 1.128.0
Commit: fc3def6774c76082adf699d366f31a557ce5573f
Date: 2026-07-07T15:14:24-07:00
Electron: 42.5.0
ElectronBuildId: 14525058
Chromium: 148.0.7778.271
Node.js: 24.17.0
V8: 14.8.178.33-electron.0
OS: Windows_NT x64 10.0.26200
具体原因仍然不明确,通过尝试网上已有的降低vscode版本,Remote-SSH插件版本等均无效果。在26年当下Ubuntu 24.04.4 LTS并不算很老旧的操作系统,所以按理说并不会出现服务取消支持的情况。以下为我使用的解决方案。
file ~/.vscode-server/code-fc3def6774c76082adf699d366f31a557ce5573f之后,发现这是一个静态链接的二进制文件(code-xxx后的xxx为当前vscode的Commit)。直接执行此文件后,VS Code CLI 的检查信息中出现了ld-musl-x86_64.so.1等信息。于是安装musl-tools和musl-dev相关依赖:
sudo apt install musl-tools musl-dev
之后重启vscode,重新连接服务器,后发现不再报错,但是会反复提示”正在安装vscode Server”,并且无法成功连接。此时手动下载vscode Server的tar包。
进入目录~/.vscode-server/cli/servers/Stable-fc3def6774c76082adf699d366f31a557ce5573f (Stable-后对应具体的commit编号),如果没有则新建此路径的文件夹。先删除此目录下的server文件夹,然后下载对应commit的vscode Server tar包并解压替换,其中[commit]换为对应vscode的commit:
cd ~/.vscode-server/cli/servers/Stable-fc3def6774c76082adf699d366f31a557ce5573f/
rm -rf ./server
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/[commit]/vscode-server-linux-x64.tar.gz
# 例如: wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/fc3def6774c76082adf699d366f31a557ce5573f/vscode-server-linux-x64.tar.gz
tar zxvf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 server
之后在本地重新连接服务器,发现成功连接。
— Jul 12, 2026