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

Я использую 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 и перезапустил мой терминал, но не повезло.

Я что-то пропустил?

Ответ 1

Я думаю, что вы можете отсутствовать, между каждым плагином.

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

В качестве альтернативы вы можете разместить каждый плагин на отдельной строке:

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

Ответ 2

Возможно, вы захотите попробовать удалить все файлы .zcompdump-(...), которые у вас могут быть в вашем домашнем каталоге пользователя - используя что-то вроде rm ~/.zcompdump* на терминале или в каком-либо файловом браузере - и затем перезапустить терминал. Смотрите это

Тогда посмотри, работает ли это.

Ответ 3

Кажется, oh-my-zsh не загружает файл plugins/docker/_docker. Вы должны добавить его в ~/.zshrc другим способом. Добавьте эти строки в файл ~/.zshrc:

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

Ответ 4

Для меня это был просто случай, когда мне нужно было впервые запустить Docker из центра внимания на моем Mac, чтобы Docker for Desktop мог получить необходимый доступ. Тогда команда docker version работала просто отлично.

Ответ 5

Первое, что нужно проверить, Убедитесь, что вы добавили /usr/local/bin в вашу переменную $ PATH. Это можно проверить из файла .zshrc, там должна быть часть:

# If you come from bash you might have to change your $PATH.
export PATH=$PATH:/usr/local/bin

Ответ 6

Выполните следующие действия, если вы используете 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:

Либо добавьте autoload -Uz compinit; compinit autoload -Uz compinit; compinit в .zshrc

или запустите echo "autoload -Uz compinit; compinit" >>.zshrc в вашей оболочке