Ubuntu 18.04安装最新版Visual Studio Code(VS Code)报依赖库版本过低错误
- [1. 问题描述](#1. 问题描述)
- [2. 解决方案](#2. 解决方案)
-
- [2.1 修复之前安装的错误](#2.1 修复之前安装的错误)
- [2.2 安装VS Code 1.85.2](#2.2 安装VS Code 1.85.2)
- [3. 原因分析](#3. 原因分析)
1. 问题描述
在Ubuntu 18.04系统上安装VS Code ≥ v1.86.2
(测试到v1.87.1
)时,会报出libc6
、libgssapi-krb5-2
、libxkbfile1
依赖库版本过低的问题,如下面第一段终端指令所示。
bash
bit202@bit202-OMEN:~$ sudo dpkg -i '/home/bit202/桌面/code_1.86.2-1707854558_amd64.deb'
正在选中未选择的软件包 code。
(正在读取数据库 ... 系统当前共安装有 335835 个文件和目录。)
正准备解包 .../code_1.86.2-1707854558_amd64.deb ...
正在解包 code (1.86.2-1707854558) ...
dpkg: 依赖关系问题使得 code 的配置工作不能继续:
code 依赖于 libc6 (>= 2.28);然而:
系统中 libc6:amd64 的版本为 2.27-3ubuntu1.6。
code 依赖于 libgssapi-krb5-2 (>= 1.17);然而:
系统中 libgssapi-krb5-2:amd64 的版本为 1.16-2ubuntu0.4。
code 依赖于 libxkbfile1 (>= 1:1.1.0);然而:
系统中 libxkbfile1:amd64 的版本为 1:1.0.9-2。
dpkg: 处理软件包 code (--install)时出错:
依赖关系问题 - 仍未被配置
正在处理用于 gnome-menus (3.13.3-11ubuntu1.1) 的触发器 ...
正在处理用于 desktop-file-utils (0.23-1ubuntu3.18.04.2) 的触发器 ...
正在处理用于 mime-support (3.60ubuntu1) 的触发器 ...
正在处理用于 shared-mime-info (1.9-2) 的触发器 ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
在处理时有错误发生:
code
而且即便使用更新这些库,也无法满足版本需求,如下终端指令所示:
bash
bit202@bit202-OMEN:~$ sudo apt-get install libc6 libgssapi-krb5-2 libxkbfile1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
libxkbfile1 已经是最新版 (1:1.0.9-2)。
libc6 已经是最新版 (2.27-3ubuntu1.6)。
libgssapi-krb5-2 已经是最新版 (1.16-2ubuntu0.4)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 340 个软件包未被升级。
如果强行使用最新版本的VS Code也不是不能用,但我感觉它不会很好地记录我的使用进度,其他问题还没有发现。
2. 解决方案
测试最新可以安装VS Code v1.85.2
版本(2023年11月版本)。
2.1 修复之前安装的错误
也就是卸载之前安装的高版本VS Code。
bash
bit202@bit202-OMEN:~$ sudo apt-get -f install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在修复依赖关系... 完成
下列软件包将被【卸载】:
code
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 340 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后将会空出 397 MB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 337279 个文件和目录。)
正在卸载 code (1.86.2-1707854558) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
正在处理用于 desktop-file-utils (0.23-1ubuntu3.18.04.2) 的触发器 ...
正在处理用于 shared-mime-info (1.9-2) 的触发器 ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
正在处理用于 gnome-menus (3.13.3-11ubuntu1.1) 的触发器 ...
正在处理用于 mime-support (3.60ubuntu1) 的触发器 ...
2.2 安装VS Code 1.85.2
bash
bit202@bit202-OMEN:~$ sudo dpkg -i '/home/bit202/桌面/code_1.85.2-1705561292_amd64.deb'
正在选中未选择的软件包 code。
(正在读取数据库 ... 系统当前共安装有 335835 个文件和目录。)
正准备解包 .../code_1.85.2-1705561292_amd64.deb ...
正在解包 code (1.85.2-1705561292) ...
正在设置 code (1.85.2-1705561292) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
正在处理用于 gnome-menus (3.13.3-11ubuntu1.1) 的触发器 ...
正在处理用于 desktop-file-utils (0.23-1ubuntu3.18.04.2) 的触发器 ...
正在处理用于 mime-support (3.60ubuntu1) 的触发器 ...
正在处理用于 shared-mime-info (1.9-2) 的触发器 ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
3. 原因分析
可能是Ubuntu 18.04对以上库的支持的最新版本太低了,也就是Ubuntu 18.04系统太老了。