GNU/Linux >> Linux の 問題 >  >> Arch Linux

Arch Linuxで「エラー:「pacman」が不足している依存関係をインストールできませんでした」を解決する

先日、 Yayを使用してAURからパッケージをインストールしようとしました ヘルパープログラム。インストールしようとしたパッケージには、多くの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.

上記の出力からわかるように、問題の原因となったのは次の3つのパッケージでした。

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

Arch Linuxで「エラー:'pacman'が不足している依存関係をインストールできませんでした」を解決

私にとって、問題のあるパッケージを削除すると問題が解決しました。ただし、問題のあるファイルが他のパッケージによって所有されていないことを常に確認することをお勧めします 。他のプログラムが所有している場合、それらを削除することはお勧めできません。したがって、これらの競合するファイルが他のパッケージによって所有されていないことを確認する必要があります。 パックマン コマンドは、ファイルがArchLinuxシステム内の他のパッケージによって所有されているかどうかを簡単に見つけることができます。

私の場合、上記のファイルが以下に示すように他のパッケージを所有しているかどうかを確認しました。

$ 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に依存するすべてのパッケージをインストールできるようになりました。安全のため、競合するファイルを削除する前にバックアップしてください。削除後に問題が発生した場合に備えて、復元できます。


Arch Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux – Arch LinuxでPacmanによってインストールされた古いパッケージを削除する方法は?

  3. Linux – / usr/binと/usr/sbinを/bin(gnu / linux)にマージしますか?

  1. Arch Linuxでソフトウェアをインストール、削除、更新する方法

  2. ArchLinuxのどのパッケージにも所有されていない競合するファイルを見つけて削除する

  3. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  1. Arch Linuxで「Perl5.26依存関係エラー:トランザクションの準備に失敗しました(依存関係を満たすことができませんでした)」を解決します

  2. Arch Linuxで「エラー:「pacman」が不足している依存関係をインストールできませんでした」を解決する

  3. Arch Linuxで「エラー:トランザクションのコミットに失敗しました(ファイルの競合)」を解決する方法