Suatu hari saya mencoba menginstal paket dari AUR menggunakan Yay program pembantu. Paket yang saya coba instal memiliki banyak dependensi Python. Sayangnya, saya tidak dapat menginstalnya dan Yay terus melakukan kesalahan berikut. Saya pikir masalahnya akan terpecahkan jika saya menghapus paket yang bertentangan. Tapi, saya tidak ingin merusak sistem. Berikut adalah pesan kesalahan keluaran ketika saya mencoba menginstal program dari AUR:
kesalahanerror: 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.
Seperti yang Anda lihat pada output di atas, tiga paket berikut adalah yang menyebabkan masalah.
- /usr/bin/tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Memecahkan "ERROR:'pacman' failed to install missing dependencies" Di Arch Linux
Bagi saya, menghapus paket yang bermasalah memperbaiki masalah. Namun, selalu disarankan untuk memeriksa bahwa file yang bermasalah tidak dimiliki oleh beberapa paket lain . Karena Jika itu dimiliki oleh beberapa program lain, menghapusnya adalah ide yang buruk. Jadi, Anda perlu menemukan bahwa file yang bertentangan tersebut tidak dimiliki oleh paket lain. pacman perintah dapat dengan mudah mengetahui apakah suatu file dimiliki oleh paket lain di sistem Arch Linux Anda.
Dalam kasus saya, saya memeriksa apakah file yang disebutkan di atas dimiliki oleh beberapa paket lain seperti yang ditunjukkan di bawah ini.
$ sudo pacman -Qo /usr/bin/tabulate
Contoh keluaran:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
Contoh keluaran:
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
Contoh keluaran:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
Seperti yang Anda lihat, semua perintah di atas menunjukkan kepada saya bahwa file-file itu tidak dimiliki oleh paket apa pun. Jadi, saya cukup menghapusnya satu per satu.
$ 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
Selesai! Sekarang, saya dapat menginstal semua paket dengan dependensi Python. Untuk keamanan, tindakan pencegahan, buat cadangan file yang bertentangan sebelum menghapusnya. Anda dapat memulihkannya untuk berjaga-jaga jika ada masalah setelah menghapusnya.