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

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

通常的原因是:

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

更新一下即可

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


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

目录
相关文章
|
2月前
|
Ubuntu
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
|
5月前
|
Ubuntu
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
289 3
|
6月前
|
SQL Ubuntu Linux
Linux(30)Rockchip RK3568 Ubuntu 20.04上解决常见的库依赖问题
Linux(30)Rockchip RK3568 Ubuntu 20.04上解决常见的库依赖问题
169 1
|
Ubuntu
问题解决:Ubuntu安装ROS依赖出现ERROR: the following packages/stacks could not have their rosdep keys resolvedt
问题解决:Ubuntu安装ROS依赖出现ERROR: the following packages/stacks could not have their rosdep keys resolvedt
1468 0
|
Ubuntu Linux
Ubuntu 依赖库调整
Ubuntu 依赖库调整
481 0
Ubuntu 依赖库调整
|
Ubuntu Linux
LINUX UBUNTU安装依赖库编译freeswitch
LINUX UBUNTU安装依赖库编译freeswitch
228 0
|
Ubuntu
ubuntu apt-get 安装软件时自动yes
ubuntu apt-get 安装软件时自动yes
157 0
解决办法:nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-xenial)
解决办法:nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-xenial)
222 0
|
Ubuntu Linux Windows
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
下列软件包有未满足的依赖关系: cmake-qt-gui : 依赖: cmake (= 3.10.2-1ubuntu2) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依
下列软件包有未满足的依赖关系: cmake-qt-gui : 依赖: cmake (= 3.10.2-1ubuntu2) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依
725 0
下列软件包有未满足的依赖关系: cmake-qt-gui : 依赖: cmake (= 3.10.2-1ubuntu2) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依