【踩坑】通过Apt安装软件包时报错
前言
新安装的Debain系统通过Apt安装软件包时报错:The following packages have unmet dependencies
问题复现
- 通过
apt install curl
安装curl时报错
1 | The following packages have unmet dependencies: |
原因
- 新安装的系统默认使用的依赖版本比较新,但是有些软件包使用的依赖版本是旧版本,在安装这些软件包时,apt发现需要安装的软件包的依赖已经存在,并且版本号不相同(如果是旧版本依赖,apt可以自动更新,但是新版本依赖没办法降级),所以导致报错无法安装该软件包
解决问题
- 手动将版本过于新的依赖卸载,并重新安装,会自动安装较旧的版本
因为封装系统镜像时使用的依赖是最新的,而apt远程仓库中的依赖是次新的
libcurl4
:根据报错中提到的过于新的依赖,确定需要卸载的软件包名
1 | apt remove --purge libcurl4 |
完成
后记
- 这种方法不适用于依赖被系统程序引用的情况,容易造成移除中途失败,并且无法重新安装的情况