通常的原因是:
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
更新一下即可
如果都不行就.....先放一放,把能装的都试一下,最后如果跑不起来再放弃,不过我最后还好,虽然一堆错但还是跑起来了~