Ubuntu下安装依赖的几个解决方案

在Ubuntu的使用中想必大家经常遇见这句话:“E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”
Ubuntu安装依赖

对于这个问题,网上有很多解决方案,但是大多不靠谱.以往我一般都是手动处理 (当然我们也可以使用aptitude来自动解决安装依赖问题,详细见下文),如果是一个软件的版本问题,直接安装指定版本.比如:

安装指定版本的软件

在显示liblapack3 : 依赖: libgfortran3 (>= 4.6) 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 的时候,部分情况可以直接使用sudo apt-get -f install libgfortran3>=4.6,来进行解决.

但是如图中所示,这次不行,为什么呢?因为一般而言安装制定版本的软件所对应的问题是软件版本过高的的问题.但是在这里并不是这样,而是因为安装这个软件还有很多的其他依赖这里无法提供.

这个时候就要轮到下面的这种方法了.

那就是使用aptitude来代替apt,aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。而在安装软件时,它不仅仅可以提供像apt那样的普通功能,还能够提供在安装依赖冲突时的解决方案。

比如我在安装R时发现安装冲突,这个时候我们就可以使用sudo aptitude install r-base-core来解决这个问题。一开始的时候,aptitude也会想apt那样检测到依赖冲突,然后给出一个解决方案。但是不同的地方在于对于解决方案你有三个选择(y/n/q),y就是同意,n不同意,然后会继续给出下一个解决方案。q–>退出,放弃安装。假如一开始它推荐给你不安装的时候,你就可以选择n,然后一般而言第二个解决方案将会自动降级安装依赖的软件(如果是一系列软件版本过高的话),这个时候选择同意基本都可以安装成功。

如图:
使用aptitude安装之后

不过唯一美中不足的问题在于,这样安装之后的 软件版本会比较低。不过好在确实可以用了。

在Ubuntu中使用R

参考

  1. 在Ubuntu中安装R语言
  2. Ubuntu解决包的依赖问题
  • 13
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Font Tian

写的很好,请给我钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值