问题描述:

终端采用命令:sudo apt-get install g++

出现如下错误:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
gcc : 依赖: gcc-7(>= 7.3.0-12~) 但是它将不会被安装
 

网上查找解决方法:

无论是不断的换源操作,或者apt-get update,以及先执行apt-get install build-essential都没有解决问题。在使用apt-get install build-essential命令时,出现如下错误:
下列软件包有未满足的依赖关系:
build-essential :
依赖: gcc(>= 4:7.2) 但是它将不会被安装
依赖: g++(>= 4:7.2) 但是它将不会被安装
依赖:dpkg-dev(>=1.17.11) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

最终解决方法:


使用aptitude包依赖管理工具代替apt来处理,aptitude软件包管理工具在解决依赖性问题上更有优势,具体使用方法如下:
sudo apt-get install aptitude ,
sudo aptitude install gcc g++
终端中输入后会提示aptitude给出的解决方案,可以选择no,
会继续提供下一个解决方案,但前面的方案会是忽略掉依赖冲突,所以想要彻底解决的话可以跳过前面的几种方案,然后再yes解决。(个人第一次No,第二次Yes)

如果在sudo apt-get install aptitude环节不小心选择了Y,

可以使用sudo apt autoremove卸载

接着sudo aptitude install gcc g++就可以了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐