Pesquisa de site

Resolva “ERRO: ‘pacman’ falhou ao instalar dependências ausentes” no Arch


Outro dia tentei instalar um pacote do AUR usando o programa auxiliar Yay. O pacote que tentei instalar tem muitas dependências do Python. Infelizmente, não consegui instalá-lo e Yay continuou gerando o seguinte erro. Achei que o problema seria resolvido se eu removesse os pacotes conflitantes. Mas não quero quebrar o sistema. Aqui está a mensagem de erro de saída quando tentei instalar um programa do 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.

Como você pode ver na saída acima, os três pacotes a seguir foram os que causaram o problema.

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

Resolva “ERRO: ‘pacman’ falhou ao instalar dependências ausentes” no Arch Linux

Para mim, excluir os pacotes problemáticos resolveu o problema. No entanto, é sempre recomendável verificar se os arquivos problemáticos não pertencem a outros pacotes. Porque se pertencer a algum outro programa, excluí-los é uma má ideia. Portanto, você precisa descobrir que esses arquivos conflitantes não pertencem a nenhum outro pacote. O comando pacman pode descobrir facilmente se um arquivo pertence a outros pacotes em seu sistema Arch Linux.

No meu caso, verifiquei se os arquivos mencionados acima pertencem a outros pacotes, conforme mostrado abaixo.

sudo pacman -Qo /usr/bin/tabulate

Exemplo de saída:

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

Exemplo de saída:

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

Exemplo de saída:

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

Como você pode ver, todos os comandos acima me mostraram que esses arquivos não pertencem a nenhum pacote. Então, eu simplesmente os excluí um por um.

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

Feito! Agora posso instalar todos os pacotes com dependências do Python. Por precaução de segurança, faça backup dos arquivos conflitantes antes de excluí-los. Você pode restaurá-los caso haja algum problema após excluí-los.

Artigos relacionados