Résoudre "ERREUR : 'pacman' n'a pas pu installer les dépendances manquantes" dans Arch
L'autre jour, j'ai essayé d'installer un paquet depuis l'AUR en utilisant le programme d'assistance Yay. Le paquet que j'ai essayé d'installer a de nombreuses dépendances Python. Malheureusement, je n'ai pas pu l'installer et Yay continuait à afficher l'erreur suivante. Je pensais que le problème serait résolu si je supprimais les paquets en conflit. Mais je ne veux pas casser le système. Voici le message d'erreur affiché lorsque j'ai essayé d'installer un programme depuis l'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.Comme vous pouvez le voir dans la sortie ci-dessus, les trois packages suivants étaient ceux qui causaient le problème.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Résoudre "ERREUR : 'pacman' n'a pas pu installer les dépendances manquantes" dans Arch Linux
Pour moi, supprimer les paquets problématiques a résolu le problème. Cependant, il est toujours recommandé de vérifier que les fichiers problématiques n'appartiennent pas à d'autres paquets. Parce que s'ils appartiennent à un autre programme, les supprimer est une mauvaise idée. Ainsi, vous devez vous assurer que ces fichiers en conflit n'appartiennent à aucun autre paquet. La commande pacman peut facilement déterminer si un fichier appartient à d'autres paquets sur votre système Arch Linux.
Dans mon cas, j'ai vérifié si les fichiers mentionnés ci-dessus appartiennent à d'autres packages comme indiqué ci-dessous.
$ sudo pacman -Qo /usr/bin/tabulateExemple de sortie :
error: No package owns /usr/bin/tabulate$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pycExemple de sortie :
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.pyExemple de sortie :
error: No package owns /usr/lib/python3.6/site-packages/tabulate.pyComme vous pouvez le voir, toutes les commandes ci-dessus m'ont montré que ces fichiers n'appartiennent à aucun paquet. Donc, je les ai simplement supprimés un par un.
$ 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.pyTerminé ! Maintenant, je peux être capable d'installer tous les packages avec des dépendances Python. Par précaution de sécurité, sauvegardez ces fichiers en conflit avant de les supprimer. Vous pouvez les restaurer au cas où il y aurait des problèmes après les avoir supprimés.