Zsh Docker 插件不工作
Zsh Docker Plugin not Working
我已经使用 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 键时,我得到了 none 我曾经得到的自动完成快捷方式。
我可以确认我的 git
插件工作正常,但 docker
插件不行。尝试做 exec zsh
和 source ~/.zshrc
并重新启动我的终端但没有成功。
我是不是漏掉了什么?
我认为您可能在每个插件之间遗漏了 ,'s。
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
)
oh-my-zsh 似乎没有加载 plugins/docker/_docker
文件。您必须以另一种方式将其添加到 ~/.zshrc
。
将这些行添加到您的 ~/.zshrc
文件中:
fpath+=($ZSH/plugins/docker)
autoload -U compinit && compinit
您可能想尝试删除用户主目录中的任何 .zcompdump-(...)
文件 - 在终端或某些文件浏览器上使用 rm ~/.zcompdump*
之类的东西 - 然后重新加载 .zschrc
文件与命令 source ~/.zshrc
或重新启动终端 - 以最适合您的方式为准。参见 this
然后看看有没有用
如果您使用的是 oh-my-zsh 并且自动完成功能不起作用,请按照以下步骤操作:
建立以下三个链接:
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
在 shell:
中添加 autoload -Uz compinit; compinit
到 .zshrc
或 运行
echo "autoload -Uz compinit; compinit" >> .zshrc
对我来说,这只是我第一次需要从我的 Mac 聚光灯下启动 Docker 以便 Docker for Desktop 获得访问权限的情况需要。然后 docker version
命令工作得很好。
@youhans 的解决方案对我永久有效。您可能有权限问题,无法对 "zshrc" 进行必要的调整。我已将权限更改为 "read and write" 并将@youhans 的响应中的代码片段添加到 "zshrc" 文件的末尾。现在完成系统始终有效。
以前,每当打开一个新终端时,我都必须在命令行中输入以下代码片段。
autoload -Uz compinit && compinit
在我的例子中:Windows 10 + WSL2 + Hyper
我遇到这个错误是因为我在 Windows 上停止了 Docker...再次启动它会使错误在 Hyper 中消失(因此,也在 ZSH 中)。
没有 .zshrc
更改或要添加的其他命令。
在我的例子中,它是因为别名而发生的。我定义了 alias docker=docker.exe
。
删除它再次工作。
系统与环境
- O.S.: Windows 10 家, x64
- Shell:Zsh(在 Gitbash 上)
我已经使用 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 键时,我得到了 none 我曾经得到的自动完成快捷方式。
我可以确认我的 git
插件工作正常,但 docker
插件不行。尝试做 exec zsh
和 source ~/.zshrc
并重新启动我的终端但没有成功。
我是不是漏掉了什么?
我认为您可能在每个插件之间遗漏了 ,'s。
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
)
oh-my-zsh 似乎没有加载 plugins/docker/_docker
文件。您必须以另一种方式将其添加到 ~/.zshrc
。
将这些行添加到您的 ~/.zshrc
文件中:
fpath+=($ZSH/plugins/docker)
autoload -U compinit && compinit
您可能想尝试删除用户主目录中的任何 .zcompdump-(...)
文件 - 在终端或某些文件浏览器上使用 rm ~/.zcompdump*
之类的东西 - 然后重新加载 .zschrc
文件与命令 source ~/.zshrc
或重新启动终端 - 以最适合您的方式为准。参见 this
然后看看有没有用
如果您使用的是 oh-my-zsh 并且自动完成功能不起作用,请按照以下步骤操作:
建立以下三个链接:
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
在 shell:
中添加autoload -Uz compinit; compinit
到.zshrc
或 运行echo "autoload -Uz compinit; compinit" >> .zshrc
对我来说,这只是我第一次需要从我的 Mac 聚光灯下启动 Docker 以便 Docker for Desktop 获得访问权限的情况需要。然后 docker version
命令工作得很好。
@youhans 的解决方案对我永久有效。您可能有权限问题,无法对 "zshrc" 进行必要的调整。我已将权限更改为 "read and write" 并将@youhans 的响应中的代码片段添加到 "zshrc" 文件的末尾。现在完成系统始终有效。
以前,每当打开一个新终端时,我都必须在命令行中输入以下代码片段。
autoload -Uz compinit && compinit
在我的例子中:Windows 10 + WSL2 + Hyper
我遇到这个错误是因为我在 Windows 上停止了 Docker...再次启动它会使错误在 Hyper 中消失(因此,也在 ZSH 中)。
没有 .zshrc
更改或要添加的其他命令。
在我的例子中,它是因为别名而发生的。我定义了 alias docker=docker.exe
。
删除它再次工作。
系统与环境
- O.S.: Windows 10 家, x64
- Shell:Zsh(在 Gitbash 上)