0

Плагин Docker для Zsh не работает

11

У меня давно установлен oh-my-zsh, и последнее время плагин для Docker перестал работать по какой-то причине.

Я проверил свой файл ~/.zshrc, и плагин там указан:

plugins=(git colored-man colorize github jira vagrant virtualenv pip python brew osx zsh-syntax-highlighting docker)

Я заглянул в директорию ~/.oh-my-zsh/plugins/docker, и там есть файл _docker. Однако, когда я набираю docker и нажимаю Tab, я не получаю никаких автозаполнений, которыми пользовался ранее.

Я могу подтвердить, что мой плагин git работает нормально, но плагин docker не функционирует. Я пробовал команды exec zsh и source ~/.zshrc, а также перезапускал терминал, но это не дало результата.

Не хватает ли мне чего-то?

5 ответ(ов)

0

Похоже, что oh-my-zsh не загружает файл plugins/docker/_docker. Вам нужно добавить его в ~/.zshrc другим способом. Попробуйте добавить следующие строки в ваш файл ~/.zshrc:

fpath+=($ZSH/plugins/docker)
autoload -U compinit && compinit

После этого перезапустите терминал или выполните source ~/.zshrc, чтобы изменения вступили в силу. Это должно решить проблему с автодополнением для Docker.

0

В моем случае все оказалось довольно просто: мне нужно было запустить Docker в первый раз через Spotlight на моем Mac, чтобы Docker Desktop получил необходимые права доступа. После этого команда docker version заработала без проблем.

0

Если вы используете oh-my-zsh и автодополнение не работает, выполните следующие шаги:

  1. Создайте следующие символические ссылки:

    ln -s /Applications/Docker.app/Contents/Resources/etc/docker.zsh-completion /usr/local/share/zsh/site-functions/_docker
    ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.zsh-completion /usr/local/share/zsh/site-functions/_docker-machine
    ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.zsh-completion /usr/local/share/zsh/site-functions/_docker-compose
    
  2. Добавьте следующую строку в ваш файл .zshrc, или выполните ее в командной оболочке:

    echo "autoload -Uz compinit; compinit" >> .zshrc
    

Это должно помочь восстановить функциональность автодополнения в oh-my-zsh. Не забудьте перезапустить терминал или выполнить source ~/.zshrc для применения изменений.

0

В вашем случае: Windows 10 + WSL2 + Hyper

У меня возникла эта ошибка из-за того, что я остановил Docker на Windows... Запуск его снова устраняет ошибку в Hyper (и, следовательно, в ZSH).

Без изменений в .zshrc или дополнительных команд.

0

Решение от @youhans оказалось для меня действенным. Возможно, у вас есть проблемы с доступом для внесения необходимых изменений в файл "zshrc". Я изменил разрешения на "чтение и запись" и добавил код, указанный в ответе @youhans, в конец файла "zshrc". Теперь система автодополнения всегда работает.

Раньше мне приходилось каждый раз вводить нижеуказанный код в командной строке при открытии нового терминала:

autoload -Uz compinit && compinit
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь
Статистика
Задан 10.04.2025
Просмотров 11
Ответов 5