某一天,升级了ubuntu系统之后,g++用不了了,然后就
apt-get install g++
结果提示我安装失败:
下列软件包有未满足的依赖关系:
g++ : 依赖: g++-5 (>= 5.3.1-3~) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
网上查了一下原因,两种情况:
- 系统更新的,源是老的
- Ubuntu发行版部分自带软件包版本过高,而要安装的软件包的依赖包版本较低
针对第一种情况
更新源就好了:
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
apt-get upgrade
然后重新安装g++
对第二种情况
也是更普遍的情况,需要降级系统中已安装的软件包.不用担心,有工具:
apt-get install aptitude
aptitude install g++
aptitude会给出解决方案,然后y/n/q选择是否使用这一方案,选n会跳过当前方案,然后给出下一个方案.需要选择一个不忽略掉依赖冲突,然后降级所关联的软件包的方案即可.