Установите docker desktop, но при запуске команды docker выдается ошибка: exec: "com.docker.cli": исполняемый файл не найден в $PATH

Установите docker desktop, но при запуске команды docker выдается ошибка: exec: "com.docker.cli": исполняемый файл не найден в $PATH

Я пытаюсь запустить docker desktop на моем Ubuntu-22.04, но при запуске любой команды 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.

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

Поэтому я удалил /usr/local/bin/dockerфайл и вместо него добавил символическую ссылку из/usr/bin/docker

ln -s /usr/bin/docker /usr/local/bin/docker

Связанный контент