개발하고 싶은 초심자

zsh: command not found: nvm 오류 해결책 본문

기술개념정리(in Javascript)/개발&에러핸들링(in Work(Codestates))

zsh: command not found: nvm 오류 해결책

정새얀 2022. 12. 9. 15:57

(참고링크)

진작에 그렇게 했어야했지만...회사 노트북에 개발 환경을 구축하려다가 nvm을 설치하고 터미널을 재시동했음에도 불구하고 nvm 명령어를 사용할 수 없다는 메시지가 자꾸 떴다.

homebrew를 설치하고 brew install nvm, brew install wget 등등 모든 방법을 사용해보았지만 이미 설치되었다는 문구만 계속 뜰 뿐...해결이 되지는 않았다.

그러던 차에 터미널에 zsh: command not found: nvm이 뜨는 것을 발견했다.

그래, 안되면 터미널에 뜬 문장 그대로 검색을 해보면 되지! 라는 생각으로 바로 구글링을 해보았다(처음부터 구글링을 했으면 삽질도 안했을텐데 난 왜 그랬을까...).

그 결과 해결한 방법이 상단의 참고링크였다.

 

우선, 터미널에 어떤 문구가 뜨는지부터 알아봐야했다.

bash: command not found: nvm
zsh: command not found: nvm

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

처음에 문구를 구글링하지않고 nvm 설치 오류 등으로 검색을 해봤을 때, vi ~/.bash_profile 엊쩌구...해보라는 말이 정말 많았는데 나의 경우에는 전혀 해당되지 않았던 것이다.

 

그래서 해결은 어떻게 했느냐...

touch ~/.zshrc
nano ~/.zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
source ~/.zshrc

일단 touch로 zshrc 파일을 생성해준다(bash 쉘의 경우 '.zshrc' 대신 '.bash_profile'이라고만 써주면 된다).
그 다음, nano나 vi 에디터, 혹은 vs code 등 사용하기 편한 에디터로 zshrc파일을 열어준다. 나의 경우에는 nano로 열어주었기 때문에 nano 명령어를 붙였다.
export ~ # This loads nvm 까지 복붙해서 넣어준 다음, 에디터에 저장해준다.
마지막으로 터미널에 재로그인하거나 source 명령어로 스크립트를 실행해주면, nvm이 문제없이 재실행된다!

✸ vi ~/.bash_profile
타 블로그에서 이 명령어를 따라하다가

".bash_profile.swp" already exists!

이 문장을 봤다면, 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' 오류는 해결!


내가 처음 '개발' 이라는 것을 시작했을 때는, 2020년 9월이었다(부트캠프 시작은 10월이었지만). 부트캠프라는 것도 처음 들어봤을 때고, 들어가서 변수가 뭐고 할당이 뭐고 엊저구 적저구ㅠㅠ나에게는 너무너무 어렵게만 느껴졌다.
그랬던 내가 현재는 그 시작했던 부트캠프의 일원으로 입사하여, 이렇게 블로그 글을 작성하고 있다.
내가 감히 뭐라고, 무슨 말을 해줄 수 있는 위치도 아니지만, 나도 2020년까지는 파이썬이 뭔지, 자바스크립트가 뭔지, 개발 언어가 이렇게 다양한 것도 모르는, 찐찐찐노베이스 닝겐이었는데 이렇게 하고 있다.
혹시라도 누군가가 이 nvm 설치에 난항을 겪어, 내 글까지 들어왔다면 남들보다 못나서 못하는게 아니니까 너무 좌절하지 말았으면 좋겠다(사실 이 말은 나에게 하는 말이기도 하다..).

 
Comments