为什么可以';zsh执行命令compdef?

为什么可以';zsh执行命令compdef?,zsh,ubuntu-18.04,kubectl,Zsh,Ubuntu 18.04,Kubectl,我已经在Ubuntu18.04上安装了zsh和我的zsh。我想为kubectl使用自动完成。因此,我添加了source我通过在.zshrc中使用以下代码修复了错误: # K8s auto-complete autoload -U +X compinit && compinit source <(kubectl completion zsh) #K8s自动完成 自动加载-U+X compinit&&compinit 来源我有同样的问题,通过更新nvm解决了 $curl-o-

我已经在Ubuntu18.04上安装了zsh和我的zsh。我想为kubectl使用自动完成。因此,我添加了
source我通过在.zshrc中使用以下代码修复了错误:

# K8s auto-complete
autoload -U +X compinit && compinit
source <(kubectl completion zsh)
#K8s自动完成
自动加载-U+X compinit&&compinit

来源我有同样的问题,通过更新nvm解决了


$curl-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh |bash

在我的情况下,问题在重新安装oh my zsh后得到修复:

  • 删除了我的旧版本
    rm-rf~/。噢,我的zsh
  • 安装自

  • 对于我的OSX
    10.15.7
    我做了类似的事情

    vi ~/.zshrc
    
    alias k=kubectl
    autoload -U +X compinit && compinit
    [[ /usr/local/bin/kubectl ]] && source <(kubectl completion zsh)
    
    vi~/.zshrc
    别名k=kubectl
    自动加载-U+X compinit&&compinit
    
    [[/usr/local/bin/kubectl]&&source我确实尝试了这里的每一个答案,但没有任何效果

    因此,我尝试了本教程,注意最后一个观察:

    “注意:请确保在调用compdef之前添加此代码段,否则仍会看到错误”

    在我的~/.zshrc和~/.bash_配置文件中,我收到了Terraform安装的完整调用


    在尝试了许多选项并经历了不同的步骤之后。在按命令运行后,它对我起了作用

    autoload -Uz compinstall && compinstall
    
    这将通过添加以下两行来配置~/.zshrc并初始化compinit:

    autoload -Uz compinit
    compinit
    
    然后在中提到的sudo命令下运行

    最后重启终端


    希望这对其他人有所帮助。

    尝试一下这个。一些用户建议,如果您安装了两个不同版本的zsh,也可能会出现此错误。不幸的是,建议的链接没有帮助。我很确定我只安装了一个版本的zsh。你试过两个答案的解决方案吗?是的,我试过。两者都没有结果。但看起来这个问题在这里没有区别。这里与
    nvm
    有什么关系?
    # K8s auto-complete
    autoload -U +X compinit && compinit
    source <(kubectl completion zsh)
    
    vi ~/.zshrc
    
    alias k=kubectl
    autoload -U +X compinit && compinit
    [[ /usr/local/bin/kubectl ]] && source <(kubectl completion zsh)
    
    autoload -Uz compinstall && compinstall
    
    autoload -Uz compinit
    compinit
    
    $ sudo chmod -R 755 /usr/local/share/zsh
    $ sudo chown -R root:staff /usr/local/share/zsh
    $ compaudit | xargs chmod g-w