以下软件包具有未满足的依赖性!


36

我写这篇文章是因为我对在Ubuntu 14.04上安装PostgreSQL 9.3非常困惑。首先,我在Python / Django开发中需要它,并且在尝试安装它时遇到了问题。现在我有这个错误,这让我发疯:

The following packages have unmet dependencies:
postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我在网上找到了一些解决方案(添加PPA后如何解决未满足的依赖关系?),我在“预防措施”部分做了所有工作,因为我遇到了一些包装破损的问题,并且在我再次看到此错误之后。

我遵循的是官方的PostgreSQL安装教程(http://www.postgresql.org/download/linux/ubuntu/),第二件事是,我已经复制了存储库,但是我删除了它们,并添加了一个新的存储库,但是还是这个错误。


Answers:


36

您可以使用安装软件包。

确保回购源是最新的

sudo apt-get update

要安装软件包。

sudo apt-get install packagename

一旦程序包确定您缺少某些依赖项,请运行以下命令来修复损坏或缺少的依赖项。

sudo apt-get install -f

如果您已经安装了软件包,则上述命令将仅下载缺少的依赖项。


2
谢谢,我认为这意味着使用,sudo apt-get install -f packagename并且收到了相同的错误。
查尔斯·克莱顿

1
这不适用于python2.7最小错误。
IgorGanapolsky

8

有时需要修复的依赖项与您尝试安装的程序无关。在我的情况下,它发出了这个错误:

以下是未满足的依赖

shashlik:取决于:libc6-i386,但是不会被安装

取决于:lib32gcc1但不会被安装

取决于:lib32z1,但不会被安装

原来,我尝试安装名为“ Shashlik”的程序,但安装失败。所以我运行了代码:

sudo apt-get --purge remove shashlik

然后我跑了:

sudo apt install autoconf

这似乎可以修复错误,因为我的程序随后安装了。我不确定第二个命令有多大帮助,但是我把它放在那里,以防解决方案必须起作用。


您如何确定这是问题所在?
kevinkayaks

5

让我与其他人分享我的安装经验postgresql-9.3。首先,我已经为此苦苦挣扎了大约4/5天,我终于设法做到了。

我在第一篇文章中分享的这些令人讨厌的错误使所有人都错了,因为我试图在Google上搜索它,发现人们遇到的相同错误更少,或者正在努力解决相似的错误。

简而言之,您将在这里有一个很好的答案来解决未解决的软件包:

添加PPA后如何解决未满足的依赖关系?

我的错误是我制作了重复的存储库,并且此链接中的答案解决了该命令sudo apt-get install -f刚刚出现的另一个错误,您必须手动执行此操作,至少我是这样做的(请参阅“预防措施”部分,但您可以阅读最后,这是一个imba帖子)。

其次,我设法从PostgreSQL官方页面http://www.postgresql.org/message-id/20140327084212.GA12703@msgid.df7cb.de上搜索此帖子(这是人们在努力安装Postgresql 时通常遇到的错误),这使我进入
https://wiki.postgresql.org/wiki/Apt,这是将PostgreSQL软件包添加到系统中的正确方法,只需阅读并逐步进行即可。

第三步是@vembutech帖子中提供的一系列命令:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

5

我知道我来晚了,但是以上解决方案都不适合我。真正解决我问题的是使用aptitudeapt-get代替。aptitude将建议解决问题的方法。例如:

The following actions will resolve these dependencies:

Keep the following packages at their current version:
1)     libyaml-dev [Not Installed]                        

Accept this solution? [Y/n/q/? (n)

The following actions will resolve these dependencies:

Downgrade the following packages:                                
1)     libyaml-0-2 [0.1.4-3ubuntu3.1 (now) -> 0.1.4-3ubuntu3 (trusty)]

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

如这篇文章所讨论


3

尝试通过安装以下命令。

sudo apt-get install postgresql-common=151.pgdg12.4+1

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3

1
“ E:找不到'postgresql-common'的版本'151.pgdg12.4 + 1'”,再次出错...
copser 2014年

我设法做到了,我运行了第二条命令,最后我做到了,@vembutech <3
copser 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.