ubuntu-22.04 で docker desktop を実行しようとしていますが、ターミナルで docker コマンドを実行すると次のエラーが発生します。
exec: "com.docker.cli": executable file not found in $PATH
Current PATH : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/
com.docker.cli ファイルがフォルダー usr/local/bin 内で赤色になっていることに気付きました。画像をご覧ください:
また、/usr/binにdockerディレクトリがないことに気付きました。
答え1
コマンド
ls -ld /usr/local/bin/com.docker.cli
おそらく、そのファイル/usr/local/bin/com.docker.cli
は無効なシンボリック リンクであることがわかります。つまり、そのファイルが参照する実行可能ファイルはもう存在しないということです。移動または削除された可能性があります。
/usr/local/bin/com.docker.cli
実行ファイルが単に移動されただけであれば、シンボリックリンクを削除し、正しい実行ファイルを指すように再作成することで修復できます。
ln -s `/<true/path/to/executable>` /usr/local/bin/com.docker.cli
そうでない場合、Docker のインストールがさらに深刻に損傷している可能性があり、その場合はアプリケーションを再インストールする必要があるかもしれません。
答え2
同じエラーが発生した後、以下のコマンドを使用しました。
sudo apt --fix-broken install
今は完璧に動作しています
このコマンドは通常、壊れたパッケージをすべて修復するか、公式リポジトリから再インストールするために使用されます。
答え3
Debian では、バイナリを手動でインストールした後にまったく同じエラーが発生しました。
バイナリが/usr/bin
すでに PATH 内にある場合でも、動作しませんでした。/usr/bin/docker
ただし、実行は動作していました。
/usr/bin/docker
との両方にバイナリがあることが判明しました/usr/local/bin/docker
。
代わりに、2 つの独立したバイナリではなく、これら 2 つのパス間にシンボリック リンクを設定する必要がありました。
そこで/usr/local/bin/docker
ファイルを削除し、代わりにシンボリックリンクを追加しました。/usr/bin/docker
ln -s /usr/bin/docker /usr/local/bin/docker