Ubuntu-解决包依赖关系的办法
安装软件包的时候,有时会遇到类似下图的依赖问题,无法正常安装,下面提供三种方法解决依赖问题。
1.可以尝试用下面方法处理依赖问题,紧跟前一条安装命令后面输入下面命令,然后再执行安装命令:
sudo apt-get install -f
2.在安装软件之前,或者遇到依赖问题之时,可以尝试安装build-essential解决问题,它聚合了一些常用的依赖:
sudo apt-get install build-essential
3.用aptitude来代替apt-get,aptitude也是一个包管理工具,它在处理依赖问题时比apt-get更优秀
aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。而在安装软件时,它不仅仅可以提供像apt那样的普通功能,还能够提供在安装依赖冲突时的解决方案。
一开始的时候,aptitude也会想apt那样检测到依赖冲突,然后给出一个解决方案。但是不同的地方在于对于解决方案你有三个选择(y/n/q),y就是同意,n不同意,然后会继续给出下一个解决方案。q–>退出,放弃安装。假如一开始它推荐给你不安装的时候,你就可以选择n,然后一般而言第二个解决方案将会自动降级安装依赖的软件(如果是一系列软件版本过高的话),这个时候选择同意基本都可以安装成功。
sudo aptitude install 需要安装的软件名