【vscode】——远程主机可能不符合 glibc 和 libstdc++ VS Code 服务器的先决条件 (远程主机不满足运行VS Code服务器的先决条件)
参考这里:https://github.com/microsoft/vscode/issues/210033
1. 问题原因
vscode升级之后,使用了更高版本的glibc,ubuntu18.04系统又没有支持,所以出现了报错。vscode GLIBC >= 2.28! from /lib/x86_64-linux-gnu/libc-2.27.so
2. 通过vscode-remote-ssh下载对应版本的.vscode-serve(可选)
- 如何看是否有对应版本的serve服务
如果有以下文件,说明已经有了。258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3,可能有多个,不知道那个对应,就把.vscode-serve删除了。重新下一次。
ls /home/chenjun/.vscode-server/bin/258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3/node
好像 本地不同版本的vscode对应远程的vscode-serve版本也不一样。我们首先通过正常的方式连接远程的服务器,这样会在~/.vscode-serve目录下下载对应版本的服务器。
- 问题一:我用1.100.3,没有下载serve服务
在vscode设置中,搜索remote ssh use, 然后关闭下面红框的选项。

说明: 如果已经下载了对应版本的serve服务,这步可跳过。
3. 解决方案
自己编译一个更高版本的glibc,再给vscode的node做一个重定向。
- 手动编译一个glibc
mkdir ~/src
cd ~/src
wget 'https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz'
tar xzf glibc-2.28.tar.gz
mkdir glibc-2.28-build
cd glibc-2.28-build
../glibc-2.28/configure --prefix=/opt/glibc-2.28
make
# make sure you can write to /opt/glibc-2.28
make install
2.对vscode做一个重定向
# version "5c3e652f63e798a5ac2f31ffd0d863669328dc4c" is currently remote-ssh downloads and it depends on GLIBC_2.28
cd ~/.vscode-server/bin/5c3e652f63e798a5ac2f31ffd0d863669328dc4c
cp node node_bak
patchelf --set-interpreter /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.28/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu node
# Now it runs:
./node
v18.18.2









