Поиск по сайту:

Решить «ОШИБКА: «pacman» не удалось установить отсутствующие зависимости» в Arch

На днях я попытался установить пакет из AUR с помощью вспомогательной программы Yay. Пакет, который я пытался установить, имеет множество зависимостей Python. К сожалению, мне не удалось его установить, и Yay продолжал выдавать следующую ошибку. Я думал, что проблема будет решена, если я удалю конфликтующие пакеты. Но я не хочу ломать систему. Вот сообщение об ошибке, когда я пытался установить программу из 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.

Как вы можете видеть в приведенном выше выводе, следующие три пакета вызвали проблему.

  1. /usr/bin/таблица
  2. /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
  3. /usr/lib/python3.6/site-packages/tabulate.py

Решите «ОШИБКА: «pacman» не удалось установить отсутствующие зависимости» в Arch Linux.

На мой взгляд, удаление проблемных пакетов решило проблему. Однако всегда рекомендуется проверять, не принадлежат ли проблемные файлы другим пакетам. Т.к. если они принадлежат какой-то другой программе, удалять их — плохая идея. Итак, вам нужно убедиться, что эти конфликтующие файлы не принадлежат каким-либо другим пакетам. Команда pacman может легко узнать, принадлежит ли файл другим пакетам в вашей системе Arch Linux.

В моем случае я проверил, принадлежат ли вышеупомянутые файлы каким-либо другим пакетам, как показано ниже.

sudo pacman -Qo /usr/bin/tabulate

Пример вывода:

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

Пример вывода:

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

Пример вывода:

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

Как видите, все приведенные выше команды показали мне, что эти файлы не принадлежат никаким пакетам. Итак, я просто удалил их один за другим.

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

Сделанный! Теперь я могу установить все пакеты с зависимостями Python. В целях безопасности создайте резервные копии конфликтующих файлов перед их удалением. Вы можете восстановить их на тот случай, если после удаления возникнут проблемы.

Статьи по данной тематике