GNU/Linux >> Znalost Linux >  >> Arch Linux

Vyřešte „CHYBA:‚pacman‘ selhal při instalaci chybějících závislostí“ v Arch Linuxu

Onehdy jsem se pokusil nainstalovat balíček z AUR pomocí Yay pomocný program. Balíček, který jsem se pokusil nainstalovat, má mnoho závislostí na Pythonu. Bohužel se mi to nepodařilo nainstalovat a Yay neustále házel následující chybu. Myslel jsem, že problém bude vyřešen, pokud odstraním konfliktní balíčky. Ale nechci porušit systém. Zde je výstupní chybová zpráva, když jsem se pokusil nainstalovat program z AUR:

 error: failed to commit transaction (conflicting files)
 python-tabulate: /usr/bin/tabulate exists in filesystem
 python-tabulate: /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc exists in filesystem
 python-tabulate: /usr/lib/python3.6/site-packages/tabulate.py exists in filesystem
 Errors occurred, no packages were upgraded.
 :: Building torrench package(s)...
 ==> Making package: torrench 1.0.56-1 (Mon Oct 23 15:46:37 IST 2017)
 ==> Checking runtime dependencies...
 ==> Installing missing dependencies...
 error: target not found: python-tabulate
 ==> ERROR: 'pacman' failed to install missing dependencies.

Jak můžete vidět ve výše uvedeném výstupu, následující tři balíčky byly ty, které způsobily problém.

  1. /usr/bin/tabulate
  2. /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
  3. /usr/lib/python3.6/site-packages/tabulate.py

Řešení "CHYBA:'pacman' selhal při instalaci chybějících závislostí" v Arch Linuxu

Podle mě problém vyřešilo odstranění problematických balíčků. Vždy však doporučujeme zkontrolovat, zda problematické soubory nevlastní některé jiné balíčky . Protože pokud je ve vlastnictví nějakého jiného programu, je smazání špatný nápad. Musíte tedy zjistit, že tyto konfliktní soubory nevlastní žádné jiné balíčky. pacman příkaz může snadno zjistit, zda je soubor vlastněn jinými balíčky ve vašem systému Arch Linux.

V mém případě jsem zkontroloval, zda výše uvedené soubory vlastní nějaké jiné balíčky, jak je uvedeno níže.

$ sudo pacman -Qo /usr/bin/tabulate

Ukázkový výstup:

error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc

Ukázkový výstup:

error: No package owns /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/tabulate.py

Ukázkový výstup:

error: No package owns /usr/lib/python3.6/site-packages/tabulate.py

Jak můžete vidět, všechny výše uvedené příkazy mi ukázaly, že tyto soubory nejsou vlastněny žádnými balíčky. Takže jsem je jednoduše smazal jednoho po druhém.

$ sudo rm /usr/bin/tabulate
$ sudo rm /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo rm /usr/lib/python3.6/site-packages/tabulate.py

Hotovo! Nyní mohu nainstalovat všechny balíčky se závislostmi na Pythonu. Z bezpečnostních důvodů si tyto konfliktní soubory před odstraněním zálohujte. Můžete je obnovit pro případ, že by se po jejich odstranění vyskytly nějaké problémy.


Arch Linux
  1. Vyřešte „CHYBA:‚pacman‘ selhal při instalaci chybějících závislostí“ v Arch Linuxu

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Linux – sloučení /usr/bin A /usr/sbin do /bin (gnu/linux)?

  1. Jak nainstalovat, odebrat a aktualizovat software na Arch Linux

  2. Najděte a odstraňte konfliktní soubory, které nevlastní žádné balíčky v Arch Linuxu

  3. Vyřešit „Chyba závislosti v Perlu 5.26:nepodařilo se připravit transakci (nemohl uspokojit závislosti)“ v Arch Linuxu

  1. Jak vyřešit „chybu:nepodařilo se potvrdit transakci (konfliktní soubory)“ v Arch Linuxu

  2. /usr/bin Vs /usr/local/bin Na Linuxu?

  3. Linux – Jak odstranit staré balíčky nainstalované Pacmanem v Arch Linuxu?