zsh: 명령을 찾을 수 없습니다: {compinstall, compinit, compdef}

zsh: 명령을 찾을 수 없습니다: {compinstall, compinit, compdef}

페이지 zshcompsys man내용은 다음과 같습니다.

초기화

시스템이 완전히 설치된 경우 compinit초기화 파일에서 셸 함수를 호출하는 것으로 충분합니다. 다음 섹션을 참조하세요. 그러나 이 기능은 compinstall사용자가 시스템의 다양한 측면을 구성하기 위해 실행할 수 있습니다.

zsh그러나 명령을 찾을 수 없습니다.

genesis% compinit
zsh: command not found: compinit
genesis% compinstall
zsh: command not found: compinstall
genesis% echo $PATH
/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/local/heroku/bin:/home/ravi/.cabal/bin:/home/ravi/.local/share/fzf/bin:/usr/local/heroku/bin:/home/ravi/.cabal/bin
genesis%

제가 이 질문을 하는 이유는 시작하면 다음과 같은 결과를 zsh얻게 되기 때문입니다.

tmuxinator.zsh:20: command not found: compdef

zsh이러한 완성 명령을 어떻게 찾나요 ?

답변1

이것은 내 Mac에서 발생하는 것과 동일한 문제입니다. zsh 쉘을 사용하고 있습니다.

Zsh Compdef 오류

Compdef는 기본적으로 zsh가 자동 완성을 로드하는 데 사용하는 기능입니다. 완성 시스템을 활성화해야 합니다. 다음과 같은 것을 사용하고 있다면아 맙소사이 문제는 이미 해결되었습니다. 그렇지 않으면 ~/.zshrc에 다음을 추가해야 합니다.

autoload -Uz compinit
compinit

완성 함수는 이 compdef와 마찬가지로 compdef 함수를 직접 사용하여 수동으로 등록할 수 있습니다. 그러나 compdef를 사용하기 전에 compinit가 컨텍스트에 자동으로 로드되어야 합니다.

답변2

요청에 따라 질문에 답변

다음을 실행하여 이러한 명령에 액세스합니다.

$ autoload -Uz compinstall && compinstall

부팅 마법사를 로드하고 선택하자마자 종료됩니다 Save and exit.

그런 다음 셸을 다시 로드합니다.

$ exec zsh

좀 더 일반적인 대답

새 사용자 구성이 실행되고 있지 않은 것 같습니다.

실행하세요:

$ autoload -Uz zsh-newuser-install && zsh-newuser-install -f

답변3

나는 같은 문제에 직면했다.

저는 다음을 수행했습니다.

  • 현재 터미널 닫기
  • brew doctorBrew 패키지 문제를 해결하려면 명령을 실행하십시오.
  • 마지막으로 명령을 실행하십시오.rm -f ~/.zcompdump; compinit

관련 정보