zsh: command not found

원인

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

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

띠용… nvm 명령어 및 npm 명령어 등 노드 관련 명령어를 입력하면

zsh: command not found

와 같은 에러 메시지가 떴다…

구글링 결과, 원인은

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

zsh 쉘이 node가 설치된 경로를 알 수 있도록 변경했다.

해결 방법

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

error-zsh1
Fig 1. 해결 방법 1

nano 에디터를 쓰고 있기 때문에, 위와 같이 터미널에 nano .bashrc를 입력 후

error-zsh2
Fig 2. 해결 방법 2

.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를 입력하고 에디터에 진입한다.

error-zsh3
Fig 3. 해결 방법 3

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

터미널을 반드시 종료했다 켜고, zsh 쉘에서 nvmnpm의 버전을 확인한다.

error-zsh4
Fig 4. 해결 방법 4

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

Reference

YUNSU BAE

YUNSU BAE

주니어 웹 개발자 배윤수 입니다!

예술의 영역을 동경하고 있어요. 🧑‍🎨