[Linux] zsh: command not found 해결하기

Yalstrax·2021년 5월 27일

Error

목록 보기
2/2

원인

처음 Linux를 사용하며 터미널 환경을 경험했습니다. 아무것도 모르고 우분투 설치 가이드를 쫓아만 가다보니, 터미널의 쉘이 bash로 설치되어 있었습니다.
그 bash로 nvm도 설치하고, 코딩도 하고, 이것저것 많이 하다가 터미널 환경을 꾸며보고 싶단 생각을 하게 됐습니다.

oh-my-zsh 라는 걸 알게 되었고, 쉘을 zsh로 당장 바꿔버렸습니다.

근데 이게 무슨 일이죠... nvm 명령어 및 npm 명령어 등 노드 관련 명령어를 입력하면
zsh: command not found 와 같은 에러 메시지가 뜨더라구요.

전 분명 설치했고 잘 써왔는데...!

그래서 바로 구글링에 들어갔습니다.

서론이 길었습니다.
원인은 !

' bash 쉘에서 설치된 nvm으로 node를 정상적으로 인식하지만, zsh 쉘에선 node를 인식하지 못하는 것 ! '

zsh 쉘이 node가 설치된 경로를 알 수 있도록 해주면 되겠습니다!

해결 방법

먼저 bash 쉘에서 nvm 또는 npm 등을 설치했다면, .bashrc 를 통해 관련 경로를 확인할 수 있습니다.

전 nano 에디터를 쓰고 있습니다. 그렇기 때문에 위와 같이 터미널에 nano .bashrc를 입력 후

.bashrc의 맨 아래를 보면,

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion>

이 부분을 확인할 수 있습니다.

bash 쉘에서 nvm을 불러와 node를 인식하게 해주는 코드입니다.

이 코드를 zsh 쉘에도 적용을 해주면 끝입니다.
위 코드를 복사해서

nano .zshrc를 입력하고 에디터에 진입합니다.

.zshrc의 맨 아랫 부분에 복사해놓은 코드를 붙여넣기 후, 저장 후 종료합니다.

터미널을 반드시 종료했다 켜고, zsh 쉘에서 nvm 및 npm의 버전을 확인합니다.

정상적으로 버전을 확인할 수 있습니다.

제가 겪었던 문제를 공유함으로써 다양한 분들이 저와 같은 문제를 해결하셨으면 좋겠습니다.

감사합니다! 😁

profile
즐겁다면 그것만으로 만만세!

0개의 댓글