L'altro giorno ho provato a installare un pacchetto da AUR usando Sì programma di aiuto. Il pacchetto che ho provato a installare ha molte dipendenze da Python. Sfortunatamente, non sono riuscito a installarlo e Yay ha continuato a generare il seguente errore. Ho pensato che il problema sarebbe stato risolto se avessi rimosso i pacchetti in conflitto. Ma non voglio rompere il sistema. Ecco il messaggio di errore di output quando ho provato a installare un programma da AUR:
Erroreerror: 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.
Come puoi vedere nell'output sopra, i seguenti tre pacchetti sono stati quelli che hanno causato il problema.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Risolvi "ERRORE:'pacman' non è riuscito a installare le dipendenze mancanti" in Arch Linux
Per me, l'eliminazione dei pacchetti problematici ha risolto il problema. Tuttavia, è sempre consigliabile verificare che i file problematici non siano di proprietà di altri pacchetti . Perché se è di proprietà di qualche altro programma, eliminarli è una cattiva idea. Quindi, è necessario trovare che i file in conflitto non siano di proprietà di altri pacchetti. Il pacman comando può facilmente scoprire se un file è di proprietà di altri pacchetti nel tuo sistema Arch Linux.
Nel mio caso, ho verificato se i file sopra menzionati sono di proprietà di altri pacchetti come mostrato di seguito.
$ sudo pacman -Qo /usr/bin/tabulate
Esempio di output:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Esempio di output:
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
Esempio di output:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
Come puoi vedere, tutti i comandi precedenti mi hanno mostrato che quei file non sono di proprietà di nessun pacchetto. Quindi, li ho semplicemente eliminati uno per uno.
$ 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
Fatto! Ora posso essere in grado di installare tutti i pacchetti con dipendenze Python. Per sicurezza, una precauzione, eseguire il backup di quei file in conflitto prima di eliminarli. Puoi ripristinarli per ogni evenienza in caso di problemi dopo averli eliminati.