Neulich habe ich versucht, ein Paket von AUR mit Yay zu installieren Hilfsprogramm. Das Paket, das ich installieren wollte, hat viele Python-Abhängigkeiten. Leider konnte ich es nicht installieren und Yay warf immer wieder den folgenden Fehler. Ich dachte, das Problem wäre gelöst, wenn ich die widersprüchlichen Pakete entferne. Aber ich will das System nicht kaputt machen. Hier ist die ausgegebene Fehlermeldung, als ich versuchte, ein Programm von AUR zu installieren:
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.
Wie Sie in der obigen Ausgabe sehen können, waren die folgenden drei Pakete diejenigen, die das Problem verursacht haben.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Lösen Sie „FEHLER:‚pacman‘ konnte fehlende Abhängigkeiten nicht installieren“ in Arch Linux
Für mich hat das Löschen der problematischen Pakete das Problem behoben. Es wird jedoch immer empfohlen zu prüfen, ob die problematischen Dateien nicht anderen Paketen gehören . Denn wenn es einem anderen Programm gehört, ist es eine schlechte Idee, sie zu löschen. Sie müssen also feststellen, dass diese widersprüchlichen Dateien keinem anderen Paket gehören. Der Pacman Der Befehl kann leicht herausfinden, ob eine Datei anderen Paketen in Ihrem Arch Linux-System gehört.
In meinem Fall habe ich überprüft, ob die oben genannten Dateien anderen Paketen gehören, wie unten gezeigt.
$ sudo pacman -Qo /usr/bin/tabulate
Beispielausgabe:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Beispielausgabe:
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
Beispielausgabe:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
Wie Sie sehen können, haben mir alle oben genannten Befehle gezeigt, dass diese Dateien keinem Paket gehören. Also habe ich sie einfach einzeln gelöscht.
$ 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
Erledigt! Jetzt kann ich alle Pakete mit Python-Abhängigkeiten installieren. Sichern Sie aus Sicherheitsgründen diese widersprüchlichen Dateien, bevor Sie sie löschen. Sie können sie für den Fall wiederherstellen, dass nach dem Löschen Probleme auftreten.