Я пытаюсь запустить 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