ubuntu安装软件时:有未能满足的依赖关系

时间:2021-06-02 06:33:55

通常的原因是:

1、软件依赖于某一软件旧的版本,可是你却已经安装了新的。

 2、要装A, 依赖B, 但是已经安装的软件C也依赖B, 但是A依赖的B的版本和C依赖的B的版本不一致, 导致了如果要安装B,那么C便不能正常运行了,所以系统报错。

解决办法:

方法(一):步骤1:更新软件源。ubuntu自带的软件源比较旧,很多的软件版本较低,国内比较好用的源有阿里源;

                sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
                sudo vim /etc/apt/sources.list #修改源列表,将阿里云源复制到sources.list文件中
                sudo apt-get update #更新本地源列表;
            阿里云源:


                deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse


                deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
                deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
                deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
                deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
                deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
                deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
                deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
                deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
                deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 


            步骤2:sudo apt-get install 软件名称。这里会提示“有未能满足的依赖关系“;
            步骤3:sudo apt-get -f install。这个命令会针对当前不满足的依赖关系,下载正确版本的依赖库;

            步骤4:sudo apt-get install 软件名称。这一步就会正确安装软件了,ok!

方法(二):

使用aptitude

aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

sudo aptitude install libprotobuf-dev

运行后,不接受未安装方案,接受降级方案。搞定。

方法(三):

系统报错如下:

下列软件包有未满足的依赖关系:
 subversion : 依赖: libsvn1 (= 1.8.8-1ubuntu3) 但是 1.8.8-1ubuntu3.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决方法如下:

sudo apt-get install libsvn1=1.8.8-1ubuntu3 , 这样可以制定libsvn的版本安装,

安装成功后, 在运行sudo apt-get install subversion 就可以安装了。

方法(四):

有些很有可能是源的问题

解决办法:

1、打开更新设置,在“更新”选项卡中选择:重要安全更新 和 推荐更新

2、并在“其他软件”选项卡中,去掉有问题等源

最后在命令行里输入

sudo apt-get update

更新一下即可

如果都不行就.....先放一放,把能装的都试一下,最后如果跑不起来再放弃,不过我最后还好,虽然一堆错但还是跑起来了~