Os seguintes pacotes têm dependências não atendidas!

36

Estou escrevendo isso porque estou muito confuso sobre a instalação do PostgreSQL 9.3 no meu Ubuntu 14.04. Primeiro eu preciso dele para o meu desenvolvimento Python / Django, e me deparei com o problema quando tentei instalá-lo. Agora eu tenho esse erro e está me deixando louco:

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.

Encontrei algumas soluções on-line ( como resolvo dependências não atendidas depois de adicionar um PPA? ) E fiz tudo na parte Medidas preventivas, porque tive um problema com pacotes quebrados e novamente depois que esse erro foi exibido novamente .

A segunda coisa que segui o tutorial oficial de instalação do PostgreSQL ( http://www.postgresql.org/download/linux/ubuntu/ ) e tive repositórios duplicados, mas os apaguei e adicionei um novo, mas ainda esse erro.

copser
fonte

Respostas:

36

Você pode instalar o pacote usando.

verifique se as fontes de recompra estão atualizadas

sudo apt-get update

Para instalar o pacote.

sudo apt-get install packagename

Depois que o pacote determinar que você tem algumas dependências ausentes, execute o seguinte comando para corrigir dependências ausentes ou quebradas.

sudo apt-get install -f

O comando acima fará o download das dependências ausentes apenas se você já tiver instalado o pacote.

heavyguidence
fonte
2
Obrigado, pensei que isso significava uso sudo apt-get install -f packagenamee estava recebendo o mesmo erro.
Charles Clayton
11
Isso não funciona com erros mínimos do python2.7 .
IgorGanapolsky
8

Às vezes, as dependências que precisam ser corrigidas não estão relacionadas ao programa que você está tentando instalar. No meu caso, estava emitindo este erro:

A seguir, dependências não atendidas

shashlik: Depende: libc6-i386, mas não será instalado

Depende: lib32gcc1, mas não será instalado

Depende: lib32z1, mas não será instalado

Acabou que eu tentei instalar um programa chamado "Shashlik" e a instalação falhou. Então eu corri o código:

sudo apt-get --purge remove shashlik

E então eu corri:

sudo apt install autoconf

Isso pareceu corrigir o erro quando meu programa foi instalado. Não tenho certeza de quanto o segundo comando ajudou, mas eu o coloquei lá, caso fosse necessário para a solução funcionar.

Joel Winterton
fonte
como você determinou que esse era o problema?
kevinkayaks
5

Deixe-me compartilhar com outras pessoas minha experiência com a instalação postgresql-9.3. Primeiro de tudo, eu tenho lutado com isso por cerca de 4/5 dias, e finalmente consegui fazer isso.

Tudo deu errado com esses erros desagradáveis ​​que compartilhei no meu primeiro post, pois tentei pesquisar no Google e descobri que as pessoas têm menos menos o mesmo erro ou estão tentando resolver um erro semelhante.

Para encurtar a história, você tem uma resposta muito boa aqui como resolver pacotes não atendidos:

Como resolvo dependências não atendidas após adicionar um PPA?

Meu erro foi que eu fiz repositório duplicado e a resposta neste link resolveu que, este comando sudo apt-get install -fcometeu outro erro, você deve fazer isso manualmente, pelo menos eu o fiz (leia a seção Medidas Preventivas, mas você pode ler para no final, é um post imba).

Segundo, eu consegui pesquisar no Google esta postagem na página oficial do PostgreSQL http://www.postgresql.org/message-id/[email protected] (esse é o erro que as pessoas geralmente têm quando estão enfrentando problemas com a instalação do postgresql ), isso me levou a
https://wiki.postgresql.org/wiki/Apt , esta é a maneira correta de adicionar pacotes PostgreSQL ao seu sistema, basta lê-lo e fazê-lo passo a passo.

A terceira etapa é uma série de comandos fornecidos no post @vembutech:

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

Sei que estou um pouco atrasado, mas nenhuma das soluções acima funcionou para mim. O que realmente resolveu o meu problema foi usar em aptitudevez do apt-get. aptitudeirá sugerir resoluções para o problema. Por exemplo:

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)

conforme discutido neste post .

Gabriel Ziegler
fonte
3

Tente instalar o comando with below.

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

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3
vembutech
fonte
11
"E: a versão '151.pgdg12.4 + 1' para 'postgresql-common' não foi encontrada", erro novamente ...
copser
Eu consigo fazer isso, eu corro segundo comando e, finalmente, eu fiz isso, @vembutech <3
copser