Featured image of post 갑작스럽게 kubectl not found가 발생했다면 😫

갑작스럽게 kubectl not found가 발생했다면 😫

평소에 잘 쓰던 kubectl이 갑자기 not found가 발생했습니다. (아마 특정 시점에 brew upgrade로 인해 문제가 됬을 것 같아요)

zsh: command not found: kubectl

이미 설치된 상태이고, 재 설치를 해도 동일했습니다. 여기저기 찾아보니 homebrew로 설치한 경우에서 이 이슈가 발생하는 것 같은데요. brew로 kubectl을 재 설치하고 brew link로 설치된 파일을 심볼릭 링크로 homebrew prefix와 연결해주면 다시 명령을 사용할 수 있습니다.

$ brew reinstall kubectl
$ brew link --overwrite kubernetes-cli

참고로 homebrew prefix는 homebrew에서 사용하는 PATH 경로입니다. 기본적으로 /usr/local로 지정되며 패키지 설치 시 전용 디렉토리에 패키지를 설치하고 prefix 하위의 Cellar에 심볼릭 링크로 연결됩니다.

그리고 brew link 명령은 지정된 패턴의 설치된 파일을 homebrew의 prefix로 강제 심볼릭 링크를 걸어줍니다. 그래서 혹시라도 Cli에서 사용할 수 없도록 명령이 끊긴 경우 이를 이어줄 수 있겠죠.

Symlink all of formula’s installed files into Homebrew’s prefix. This is done automatically when you install formulae but can be useful for DIY installations.

prefix 경로는 아래 명령으로 체크가 가능합니다.

$ brew --prefix
/usr/local

해당 경로의 Cellar 디렉토리를 보면 설치된 패키지들을 확인할 수 있습니다.

스크린샷 2021-12-30 오전 1 02 20

Licensed under CC BY-NC-SA 4.0