我现在已经使用了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
并重新启动我的终端但没有运气。
我错过了什么吗?
答案 0 :(得分:20)
看来oh-my-zsh没有加载plugins/docker/_docker
文件。您必须以另一种方式将其添加到~/.zshrc
。
将这些行添加到~/.zshrc
文件中:
fpath+=($ZSH/plugins/docker)
autoload -U compinit && compinit
答案 1 :(得分:12)
您可能想尝试删除用户主目录中可能包含的所有'.zcompdump-(...)
文件,然后重新启动终端。参见this
然后看看是否可行。
答案 2 :(得分:4)
我想你可能会失踪,介于每个插件之间。
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
)
答案 3 :(得分:2)
就我而言: Windows 10 + WSL2 + Hyper
我遇到此错误是因为我在Windows上停止了Docker ...再次启动它会使错误在Hyper(因此也在ZSH)中消失。
没有.zshrc
更改或要添加的其他命令。
答案 4 :(得分:1)
对我来说,我只是第一次需要从Mac上的聚光灯下启动Docker,以便Docker for Desktop获得所需的访问权限。然后docker version
命令就可以了。
答案 5 :(得分:1)
@youhans的解决方案永久为我工作。您可能有权限问题,需要对“ zshrc”进行必要的调整。我已将权限更改为“读写”,并将@youhans的响应中的代码段添加到“ zshrc”文件的末尾。现在,完成系统始终有效。
每次打开新终端之前,我都必须在命令行中的以下代码段中键入内容。
自动加载-Uz compinit && compinit
答案 6 :(得分:0)
就我而言,它是由于别名而发生的。我已经定义了 alias docker=docker.exe
。
删除它再次起作用。
系统与环境
答案 7 :(得分:-2)
如果您使用的是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
添加到.zshrc
或在您的Shell中运行echo "autoload -Uz compinit; compinit" >> .zshrc