Następujące pakiety mają niespełnione zależności!


36

Piszę to, ponieważ jestem bardzo zdezorientowany co do instalacji PostgreSQL 9.3 na moim Ubuntu 14.04. Najpierw potrzebuję go do programowania w języku Python / Django i napotkałem problem, gdy próbowałem go zainstalować. Teraz mam ten błąd i doprowadza mnie to do szału:

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.

Znalazłem pewne rozwiązania online ( Jak rozwiązać niezaspokojone zależności po dodaniu PPA? ) I zrobiłem wszystko w części Środki zapobiegawcze, ponieważ miałem problem z uszkodzonymi pakietami i ponownie po tym, jak ten błąd pokazał mi się ponownie .

Po drugie, postępowałem zgodnie z oficjalnym samouczkiem instalacji PostgreSQL ( http://www.postgresql.org/download/linux/ubuntu/ ) i miałem zduplikowane repozytoria, ale je usunąłem i dodałem nowy, ale wciąż ten błąd.


Odpowiedzi:


36

Możesz zainstalować pakiet za pomocą.

upewnij się, że źródła repo są aktualne

sudo apt-get update

Aby zainstalować pakiet.

sudo apt-get install packagename

Gdy pakiet wykryje brakujące zależności, uruchom następującą komendę, aby naprawić uszkodzone lub brakujące zależności.

sudo apt-get install -f

Powyższe polecenie pobierze brakujące zależności tylko, jeśli pakiet został już zainstalowany.


2
Dziękuję, myślałem, że to oznacza użycie sudo apt-get install -f packagenamei otrzymywałem ten sam błąd.
Charles Clayton

1
Nie działa to z minimalnymi błędami python2.7 .
IgorGanapolsky

8

Czasami zależności wymagające naprawy nie są powiązane z programem, który próbujesz zainstalować. W moim przypadku był to błąd:

Poniższe mają niespełnione zależności

shashlik: Zależy: libc6-i386, ale nie zostanie zainstalowany

Zależy: lib32gcc1, ale nie zostanie zainstalowany

Zależy: lib32z1, ale nie zostanie zainstalowany

Okazało się, że próbowałem zainstalować program o nazwie „Szaszłyk” i instalacja nie powiodła się. Więc uruchomiłem kod:

sudo apt-get --purge remove shashlik

A potem pobiegłem:

sudo apt install autoconf

Wydawało się, że to naprawia błąd, gdy mój program został zainstalowany. Nie jestem pewien, jak bardzo pomogło drugie polecenie, ale umieściłem je tam na wypadek, gdyby było konieczne, aby rozwiązanie zadziałało.


jak ustaliłeś, że to był problem?
kevinkayaks

5

Pozwól mi podzielić się z innymi ludźmi moim doświadczeniem z instalacją postgresql-9.3. Przede wszystkim zmagam się z tym przez około 4/5 dni, a wreszcie udało mi się to zrobić.

Wszystko poszło nie tak z tymi paskudnymi błędami, które opublikowałem w moim pierwszym poście, ponieważ próbowałem google go i odkryłem, że ludzie mają mniej tego samego błędu lub próbują rozwiązać podobny.

Krótko mówiąc, masz tutaj bardzo fajną odpowiedź na pytanie, jak rozwiązać niezrealizowane pakiety:

Jak rozwiązać niezaspokojone zależności po dodaniu PPA?

Mój błąd polegał na tym, że utworzyłem zduplikowane repozytorium, a odpowiedź w tym linku sudo apt-get install -fwyjaśniła , że to polecenie popełniło kolejny błąd, musisz to zrobić ręcznie, przynajmniej ja to zrobiłem (przeczytaj sekcję Środki zapobiegawcze, ale możesz przeczytać koniec, to post imba).

Po drugie, udaje mi się google ten post z oficjalnej strony PostgreSQL http://www.postgresql.org/message-id/20140327084212.GA12703@msgid.df7cb.de (jest to błąd, który ludzie zwykle mają, gdy mają problemy z instalacją postgresql ), doprowadziło mnie to do
https://wiki.postgresql.org/wiki/Apt , to jest właściwy sposób dodawania pakietów PostgreSQL do twojego systemu, po prostu przeczytaj go i zrób to krok po kroku.

Trzecim krokiem jest seria poleceń podanych w poście @vembutech:

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

5

Wiem, że jestem trochę spóźniony, ale żadne z powyższych rozwiązań nie zadziałało. Tym, co naprawdę rozwiązało mój problem, było użycie aptitudezamiast apt-get. aptitudezaproponuje rozwiązania problemu. Na przykład:

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)

jak omówiono w tym poście .


3

Spróbuj, instalując polecenie with below.

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

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

1
„E: Wersja„ 151.pgdg12.4 + 1 ”dla„ postgresql-common ”nie znaleziono”, błąd ponownie ...
copser

Udaje mi się to, uruchamiam drugie polecenie i wreszcie to zrobiłem, @vembutech <3
copser
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.