Les paquets suivants ont des dépendances non satisfaites!

36

J'écris ceci parce que je suis très confus quant à l'installation de PostgreSQL 9.3 sur mon Ubuntu 14.04. J'en ai d'abord besoin pour mon développement Python / Django, et j'ai rencontré le problème lorsque j'ai essayé de l'installer. Maintenant, j'ai cette erreur et ça me rend folle:

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.

J'ai trouvé des solutions en ligne ( comment puis-je résoudre les dépendances non résolues après l'ajout d'un PPA? ) Et j'ai tout fait pour la partie Mesures préventives, car j'ai eu un problème de paquets cassés, et après que cette erreur m'ait été montrée à nouveau .

Deuxièmement, j’ai suivi le tutoriel officiel d’installation de PostgreSQL ( http://www.postgresql.org/download/linux/ubuntu/ ), et j’ai eu des dépôts dupliqués, mais je les ai supprimés et j’en ai ajouté un nouveau, mais toujours cette erreur.

copser
la source

Réponses:

36

Vous pouvez installer le paquet en utilisant.

assurez-vous que les sources de repo sont à jour

sudo apt-get update

Pour installer le paquet.

sudo apt-get install packagename

Une fois que le paquet a déterminé qu'il vous manque des dépendances, exécutez la commande suivante pour corriger les dépendances rompues ou manquantes.

sudo apt-get install -f

La commande ci-dessus ne téléchargera les dépendances manquantes que si vous avez déjà installé le paquet.

lourde
la source
2
Merci, je pensais que cela signifiait utiliser sudo apt-get install -f packagenameet obtenait la même erreur.
Charles Clayton
1
Cela ne fonctionne pas avec les erreurs python2.7-minimal .
IgorGanapolsky
8

Parfois, les dépendances à réparer ne sont pas liées au programme que vous essayez d'installer. Dans mon cas, c'était en émettant cette erreur:

Les personnes suivantes ont des dépendances non satisfaites

shashlik: Dépend de: libc6-i386 mais il ne va pas être installé

Dépend de: lib32gcc1 mais il ne va pas être installé

Dépend de: lib32z1 mais il ne va pas être installé

Il s'est avéré que j'avais essayé d'installer un programme appelé "Shashlik" et que l'installation avait échoué. Alors j'ai couru le code:

sudo apt-get --purge remove shashlik

Et puis j'ai couru:

sudo apt install autoconf

Cela a semblé corriger l'erreur alors que mon programme était installé. Je ne sais pas à quel point la deuxième commande a aidé, mais je l'ai mise au cas où il serait nécessaire que la solution fonctionne.

Joel Winterton
la source
comment avez-vous déterminé que c'était là le problème?
kevinkayaks
5

Permettez-moi de partager avec d'autres personnes mon expérience en matière d'installation postgresql-9.3. Tout d'abord, cela fait environ quatre ou cinq jours que je me bats avec cela, et j'ai finalement réussi à le faire.

Tous se sont trompés avec ces mauvaises erreurs que j'ai partagées dans mon premier message, car j'ai essayé de les rechercher sur Google et de découvrir que les gens avaient moins la même erreur, ou avaient du mal à résoudre une erreur similaire.

En résumé, vous avez une très bonne réponse à comment résoudre les paquets non satisfaits:

Comment résoudre les dépendances non résolues après l'ajout d'un PPA?

Mon erreur est que j'ai créé un référentiel dupliqué, et la réponse dans ce lien a résolu que, cette commande sudo apt-get install -fvenait de créer une autre erreur, vous devez le faire manuellement, du moins je l'ai fait (lisez la section Mesures préventives, mais vous pouvez lire la fin, c’est un post imba).

Deuxièmement, je parviens à google cet article à partir de la page officielle de PostgreSQL http://www.postgresql.org/message-id/[email protected] (c'est l'erreur que les gens commettent habituellement lorsqu'ils luttent avec l'installation de postgresql ), cela m’a conduit à
https://wiki.postgresql.org/wiki/Apt , c’est la bonne façon d’ajouter des paquets PostgreSQL à votre système, il suffit de le lire et de le faire étape par étape.

La troisième étape consiste en une série de commandes fournies dans le post @vembutech:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
copser
la source
5

Je sais que je suis un peu en retard, mais aucune des solutions ci-dessus n'a fonctionné pour moi. Ce qui a vraiment résolu mon problème, c'est d'utiliser aptitudeplutôt qu'apt-get. aptitudesuggérera des solutions au problème. Par exemple:

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)

comme discuté dans ce post .

Gabriel Ziegler
la source
3

Essayez en installant la commande with below.

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

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
vembutech
la source
1
"E: La version '151.pgdg12.4 + 1' pour 'postgresql-common' n'a pas été trouvée", erreur encore ...
copser
J'arrive à le faire, je lance la deuxième commande et finalement je l'ai fait, @vembutech <3
copser