ubuntu install :The following packages have unmet dependencies(未能满足依赖关系)

ubuntu版本不一样,或者源不一样都会出现下面这样的问题:

The following packages have unmet dependencies:
 libopus-dev : Depends: libopus0 (= 1.1.2-1ubuntu1) but 1.2.1-1~16.04.york0 is to be installed
E: Unable to correct problems, you have held broken packages.

主要原因如下:
1、安装该软件包时它需要指定的版本才能安装上,如上面说的需要一个旧版本依赖才能正确安装。
2、要装A, 依赖B, 但是已经安装的软件C也依赖B, 但是A依赖的B的版本和C依赖的B的版本不一致, 导致了如果要安装B,那么C便不能正常运行了,所以系统报错。

遇到这类问题有一下几种解决办法:

第一种:

sudo apt-get -f install
sudo apt-get install 软件名称

通过上面命令安装,这个命令会针对当前不满足的依赖关系,下载正确版本的依赖库,如果还是出现上面的问题尝试下面解决方案。

第二种:

更新软件源。ubuntu自带的软件源比较旧,很多的软件版本较低,国内比较好用的源有阿里源,清华源等。

第三种:(这种我认为最靠谱的方式,简单方面快捷)

使用aptitude,先安装:

sudo apt-get install aptitude

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

sudo aptitude install libopus-dev

根据需要输入相应指令,运行后,不接受未安装方案,接受降级方案。搞定。
过程如下:

The following actions will resolve these dependencies:
     Keep the following packages at their current version:
1)     libopus-dev [Not Installed]                        

Accept this solution? [Y/n/q/?]

根据情况输入:Y,n,q
出现以下:

The following actions will resolve these dependencies:
     Downgrade the following packages:                                
1)     libopus0 [1.2.1-1~16.04.york0 (now) -> 1.1.2-1ubuntu1 (xenial)]

Accept this solution? [Y/n/q/?]

输入Y即可!!

第四种:
系统报错如下:

下列软件包有未满足的依赖关系:
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 就可以安装了。

OK!!!

  • 23
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
当您在Linux系统中安装软件包时,可能会遇到“以下软件包存在未满足依赖关系”的错误消息。这通常是由于软件包之间的依赖关系无法满足而导致的。以下是一些解决这个问题的常见方法: 1. 更新软件包列表:在终端中运行以下命令: ``` $ sudo apt-get update ``` 这将更新软件包列表,以确保您的系统可以找到最新的软件包。 2. 安装缺失的依赖项:在终端中运行以下命令: ``` $ sudo apt-get install -f ``` 这将自动安装缺失的依赖项。 3. 安装特定版本的软件包:有时,特定版本的软件包可以满足依赖关系。您可以使用以下命令安装特定版本的软件包: ``` $ sudo apt-get install <package-name>=<package-version> ``` 例如,要安装Python的2.7.17版本,您可以使用以下命令: ``` $ sudo apt-get install python2.7=2.7.17-1~18.04ubuntu1 ``` 4. 删除冲突的软件包:有时,其他软件包可能与您要安装的软件包发生冲突。您可以尝试使用以下命令删除冲突的软件包: ``` $ sudo apt-get remove <package-name> ``` 例如,要删除与Python 2.7.17发生冲突的Python 3.6软件包,您可以使用以下命令: ``` $ sudo apt-get remove python3.6 ``` 5. 清理未使用的软件包:在终端中运行以下命令: ``` $ sudo apt-get autoclean $ sudo apt-get autoremove ``` 这将清除系统中未使用的软件包和依赖项。 希望这些方法可以帮助您解决“以下软件包存在未满足依赖关系”的错误消息。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值