zsh: command not found: nvm

조영민·2022년 8월 9일
0

zsh: command not found: nvm

오류가 발생하는 이유
이 'command not found' 오류는 MacOS Mojave 운영체제부터 환경변수가 적용되어 터미널을 새로 실행시킬 때마다 .bash_profile 혹은 .zshr이 새로 로드되기 때문에 발생한다.

1) bash: command not found: nvm
2) zsh: command not found: nvm

앞의 bash와 zsh가 현재 사용중인 쉘(운영체제에서 사용자가 입력하는 명령어를 읽고 해석해서 실행해주는 인터페이스 프로그램)을 말해준다. OS에 따라 쉘이 다르고, 쉘이 무엇이냐에 따라 수정해줘야 하는 파일이 달라지기 때문에 bash인지 zsh인지 꼭 확인해야 한다.

오류 해결법
일단 zsh 쉘을 기준으로 설명하자면,

  1. 일단 touch로 zshrc 파일을 생성해준다.
    bash 쉘의 경우 '.zshrc' 대신 '.bash_profile'이라고만 써주면 된다.

touch ~/.zshrc

  1. vi 에디터로 zshrc 파일을 실행한다.

    vi ~/.zshrc

꼭 vi 에디터가 아니어도 된다. 비쥬얼 스튜디오 코드로 열어도 되고, 나노 에디터여도 되고 사용하기 편한 에디터를 사용하면 된다.

  1. 파일 내에 코드 입력

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

vi 에디터로 편집 중이라면, ':wq' 를 입력해서 저장후 종료한다.

  1. 터미널을 재로그인하거나, source 명령어로 스크립트 실행

source ~/.zshrc

이제 터미널을 재실행해도 nvm이 문제없이 실행될 것이다! 🎉

혹시…
다른 블로그들에서 시키는 대로 vi ~/.bash_profile 을 쳐보다가 이런 메시지를 봤을 수도 있다…

".bash_profile.swp" already exists!

이 오류 메시지는, vi 에디터를 저장 없이 종료했기 때문에 발생하는 메시지다.

vi 명령어를 치면 나오는 '~~' 끝없는 물결표에 당황해서 그냥 종료 버튼을 누른 거라면… 내가 그랬다.
(vi 에디터 기본 명령어로 검색하면, 좋은 블로그들이 많다……
꼭 :q(저장 없이 종료)나 :wq(저장 후 종료)치고 종료하기………… 🥲)

vi 에디터는 실행하고 파일을 저장하지 않은 채로 비정상 종료한 경우, 파일 확장자를 자동으로 .swp로 수정하여 임시저장 파일 같은 형식으로 만들어버린다.

터미널에 'ls -a' 명령어를 쳐 숨김 파일까지 전부 표시하면, 폴더 내에 .bash_profile.swp이 존재하는 것을 확인할 수 있을 것이다.

.swp 확장자 파일은 rm 명령어로 삭제해줘도 되고, mv로 변경해줘도 되고…

rm .bash_profile.swp
mv .bash_profile.swp .bash_profile

아무튼 swp 파일을 처리한 후, 위의 해결법을 따라하면 'command not found' 오류는 해결이 될 것이다! 🙂

출처ㅣ
https://velog.io/@palette/zsh-command-not-found-nvm-%EC%98%A4%EB%A5%98%ED%95%B4%EA%B2%B0%EB%B2%95

profile
프론트엔드 개발자

0개의 댓글