背景

执行安装软件包命令sudo apt-get install packagename时,提示:The following packages have unmet dependencies

The following packages have unmet dependencies,看起来是依赖项的问题,

ubuntu - How do I resolve `The following packages have unmet dependencies` - Stack Overflow中第一高赞说安装aptitude即可,它管理所有依赖。

但是安装这个依赖依然会提示缺少依赖项,安装管理依赖的软件需要先安装依赖? 你搁这儿搁这儿呢

解决方案

按照ubuntu - How do I resolve `The following packages have unmet dependencies` - Stack Overflow第二高赞的回答

先执行

sudo apt-get update
sudo apt-get clean
sudo apt-get autoremove

如果不行再执行

sudo apt --fix-broken install    /修复系统中已安装的软件包依赖关系的错误,尝试下载并安装缺失的依赖软件包,并解决其他软件包冲突问题。
sudo apt-get update && sudo apt-get upgrade //这回更新所有软件到最新版本,建议不要使用
sudo dpkg --configure -a  //重新配置未成功安装的软件包。
sudo apt-get install -f    //修复已安装的软件包依赖关系错误。当某些软件包在安装或卸载过程中出现问题时,可能会导致软件包依赖关系错误,此时可以执行该命令以修复依赖关系错误。需要注意的是,该命令并不会安装新的软件包,它只会修复已安装的软件包依赖关系错误。如果需要安装新的软件包,应该使用 sudo apt-get install 命令。

我的步骤

sudo apt-get update

 之前已经update了,就三行信息

这里如果报错镜像的,可以考虑更换成其他镜像

清华镜像:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

阿里镜像 :ubuntu镜像-ubuntu下载地址-ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com)

安装的时候注意根据服务器版本选择对应镜像,比如16.04版本镜像地址后面为xenial,18.04镜像后面地址为bionic

sudo apt-get clean
sudo apt-get autoremove

可以看到autoremove还是会提示缺少依赖

接着执行

sudo apt --fix-broken install

当执行 sudo apt --fix-broken install 命令时,apt 将会扫描系统中所有已安装的软件包,并尝试修复其中存在的依赖关系错误。如果它发现某个软件包依赖的其他软件包没有安装,则会尝试下载并安装这些软件包。如果它发现系统中存在软件包冲突,则会尝试解决这些冲突。

执行了好几次,都直接Abort了

 我尝试了四五次,终于成功了

 

再次执行安装脚本,成功!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐