Наступні пакети мають невиконані залежності!


36

Я пишу це, бо сильно плутаюсь про встановлення PostgreSQL 9.3 на моєму Ubuntu 14.04. Спочатку мені це потрібно для моєї розробки 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/ ), і у мене були дублювані сховища, але я видалив їх, і я додав свіжий, але все-таки ця помилка.


Відповіді:


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-мінімальними помилками.
ІгорГанапольський

8

Іноді залежності, які потребують виправлення, не пов'язані з програмою, яку ви намагаєтесь встановити. У моєму випадку ця помилка видавала:

Далі є невиконані залежності

shashlik: Залежить: libc6-i386, але він не буде встановлений

Залежить: lib32gcc1, але він не буде встановлений

Залежить: lib32z1, але він не збирається встановлювати

Виявилося, що я намагався встановити програму під назвою "Шашлик", і встановлення не вдалося. Тому я запустив код:

sudo apt-get --purge remove shashlik

І тоді я побіг:

sudo apt install autoconf

Це здавалося виправити помилку, коли моя програма потім була встановлена. Я не впевнений, наскільки допомогла друга команда, але я поставив її там, якщо це було необхідне для рішення.


як ви визначили це питання?
кевінкаякс

5

Дозвольте мені поділитися з іншими людьми своїм досвідом встановлення postgresql-9.3. Перш за все я боровся з цим близько 4/5 днів, і нарешті мені це вдається.

Всі пішли не так з цими неприємними помилками, якими я поділився в своєму першому дописі, коли я намагався переглянути його в Google і виявити, що люди мають меншу кількість однакової помилки або намагаються вирішити подібну.

Якщо коротко розповісти, ви маєте дуже гарну відповідь, як вирішити невдалі пакети:

Як вирішити невиконані залежності після додавання PPA?

Моя помилка полягала в тому, що я зробив повторне сховище, і відповідь у цьому посиланні вирішила, що ця команда sudo apt-get install -fпросто зробила ще одну помилку. Ви повинні це зробити вручну, принаймні я це зробив (читайте в розділі Превентивні заходи, але ви можете прочитати на кінець, це імба пост).

По-друге, мені вдається перенести цю публікацію з офіційної сторінки 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

Я знаю, що я трохи спізнююся, але жодне з перерахованих вище рішень не працювало на мене. Те, що насправді вирішило мою проблему, було використовувати aptitudeзамість apt-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: Версія '151.pgdg12.4 + 1' для" postgresql-common "не знайдено", помилка знову ...
copser

Мені вдається це зробити, я запускаю другу команду і, нарешті, це зробив, @vembutech <3
copser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.