云计算百科
云计算领域专业知识百科平台

解决vscode 连接服务器报错:The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++

  

🎬 HoRain 云小助手:个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

一、问题原因分析

二、验证服务器依赖版本

1. 检查 glibc 版本

2. 检查 libstdc++ 版本

三、解决方案

方法 1:升级服务器依赖(推荐)

升级 glibc

升级 libstdc++

方法 2:手动安装高版本 libstdc++

方法 3:强制使用兼容的 VS Code Server 版本

四、验证修复

五、备选方案

六、错误处理示例


 


一、问题原因分析

VS Code 的 Remote-SSH 扩展在远程服务器上启动后台服务(vscode-server)时,依赖以下组件:

  • glibc:GNU C 标准库(最低要求 glibc 2.17 以上)
  • libstdc++:GNU C++ 标准库(最低要求 libstdc++.so.6.0.21 以上)

若服务器上的版本过低,会导致无法启动服务。


二、验证服务器依赖版本

1. 检查 glibc 版本

# 登录到远程服务器后执行:
ldd –version | head -n1 | awk '{print $NF}'

  • 输出示例:2.17(若版本低于 2.17,需升级)
2. 检查 libstdc++ 版本

# 查找 libstdc++.so.6 路径
ls -l /usr/lib64/libstdc++.so.6

# 查看库版本(替换路径为实际路径)
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3.4.21

  • 关键输出:需存在 GLIBCXX_3.4.21(对应 libstdc++.so.6.0.21)
  • 若无输出,说明版本过低。

三、解决方案

方法 1:升级服务器依赖(推荐)
升级 glibc

# CentOS/RHEL
sudo yum update glibc

# Debian/Ubuntu
sudo apt-get update && sudo apt-get install libc6

升级 libstdc++

# CentOS/RHEL
sudo yum install libstdc++

# Debian/Ubuntu
sudo apt-get install libstdc++6

方法 2:手动安装高版本 libstdc++

如果服务器无法直接升级(如无 root 权限或系统版本锁定):

# 下载高版本 libstdc++.so.6.0.28(示例)
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb

# 解压并复制到用户目录
dpkg -x libstdc++6_10.2.1-6_amd64.deb /tmp/libstdc++
cp /tmp/libstdc++/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28 ~/

# 创建符号链接并设置环境变量
cd ~
ln -sf libstdc++.so.6.0.28 libstdc++.so.6
echo 'export LD_LIBRARY_PATH=$HOME:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

方法 3:强制使用兼容的 VS Code Server 版本

如果升级依赖不可行,可手动指定旧版 VS Code Server:

# 在本地机器上执行(替换 REMOTE_USER 和 REMOTE_HOST)
ssh REMOTE_USER@REMOTE_HOST "mkdir -p ~/.vscode-server/bin"

# 下载旧版 Server(例如 commit-id: abcdef12)
wget https://vscode.download.prss.microsoft.com/dbazure/stable/abcdef12/server-linux-x64.tar.gz

# 上传并解压到服务器
scp server-linux-x64.tar.gz REMOTE_USER@REMOTE_HOST:~/.vscode-server/bin/
ssh REMOTE_USER@REMOTE_HOST "tar -zxvf ~/.vscode-server/bin/server-linux-x64.tar.gz -C ~/.vscode-server/bin/ –strip-components 1"


四、验证修复

  • 重新连接远程服务器:在 VS Code 中执行 Remote-SSH: Connect to Host
  • 检查日志:
    • 查看日志路径:~/.vscode-server/.abcdef12.log
    • 确认无 glibc 或 libstdc++ 相关错误。

  • 五、备选方案

  • 使用 Docker 容器:

    # 在服务器上启动一个包含高版本依赖的容器
    docker run -it –rm -v $HOME:/home/user ubuntu:20.04

    在容器内安装 VS Code Server。

  • 使用 SSH FS 扩展:通过 SSH FS 挂载远程目录,但功能受限。


  • 六、错误处理示例

    若仍遇到错误:

    Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

    • 解决:确保 LD_LIBRARY_PATH 包含自定义库路径: export LD_LIBRARY_PATH=$HOME:$LD_LIBRARY_PATH

    通过上述步骤,可解决因 glibc 或 libstdc++ 版本过低导致的连接问题。若服务器版本过于陈旧(如 CentOS 6),建议升级操作系统或使用容器化方案。

    ❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

    💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

    🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 解决vscode 连接服务器报错:The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!