![zsh: 명령을 찾을 수 없습니다: {compinstall, compinit, compdef}](https://linux55.com/image/103960/zsh%3A%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20%7Bcompinstall%2C%20compinit%2C%20compdef%7D.png)
페이지 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 쉘을 사용하고 있습니다.
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 doctor
Brew 패키지 문제를 해결하려면 명령을 실행하십시오.- 마지막으로 명령을 실행하십시오.
rm -f ~/.zcompdump; compinit