鸣涧 发表于 2024-4-13 15:02:23

vsCode 1.88 版本 不兼容旧服务器GLIBC版本问题解决

vsCode 1.88 版本 不兼容旧linux发行版本GLIBC版本问题解决

现象

今早,打开电脑如长夜如往常一样打开vs code 准备码码,可是出现了可怕的事:
出错提示
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.26' not found /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found


原因

最近vscode发布了1.88版本,vsCode自动帮我更新了,官方说从1.86版本Visual Studio Code Remote Development Frequently Asked Questions(这点没感觉,因为没报什么异常,我没有感知,反而是1.88, 刚年也刚更新的)开始就更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7 / ubuntu-16)都无法用remote-ssh/wsl来连接了,会一直控制台报错。wsl 登录ubuntu-16查看gilbc版本strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_PRIVATE最高是2.23, 尝试安装更高版本的glibc, 由于发行版环境整体适配问题,不能安装2.28

解决方法
根据官方FAQVisual Studio Code Remote Development Frequently Asked Questions,有两种解决办法:
[*]回退版本到1.85.2,同时永久禁用更新,但这样本地开发的时候也不能使用vscode的最新特性了,不推荐
[*]使用1.85.2的portable便携绿色版,这样可以和最新的vscode版本共存
我选择了使用便携版来解决,下面简单介绍下流程:
[*]点击下载链接 下载1.85.2版本的zip包,下载后解压到本地自己选择的目录下
[*]进入目录,新建data文件夹
[*]拷贝%APPDATA%\Code目录到data文件夹下,然后重命名为user-data
[*]拷贝%USERPROFILE%\.vscode\extensions目录到data文件夹下
[*]在data文件夹下新建目录tmp
然后给Code.exe创建一个快捷方式,就可以正常使用1.85.2版本了,同时需要把remote-ssh的版本降级到0.107.1,此时就可以正常远程连接服务器
禁上vsCode更新
页: [1]
查看完整版本: vsCode 1.88 版本 不兼容旧服务器GLIBC版本问题解决