zsh: command not found: nvm

zzwwoonn·2022년 4월 28일
0

React

목록 보기
5/23

NVM (Node Version Manager)
한 마디로 Node.js 의 버전을 관리하는 도구이다.

협업을 할 때, 또는 다양한 프로젝트를 동시에 진행해야 할 때 다양한 라이브러리, 프레임워크, 개발툴의 버전 호환 문제를 겪을 수 있기 때문에 NVM을 사용한다. NVM을 사용함으로써 얻을 수 있는 이점은 컴퓨터에 다양한 버전의 Node.js 를 설치할 수 있고 use 커맨드를 이용해 사용할 Node 버전으로 간단하게 스위칭 할 수 있고 디폴트 버전을 설정하거나 설치한 버전들의 전체 리스트를 확인하거나 필요 없는 버전을 삭제하는 등 소위 버전 관리가 쉬워진다.

루비의 rvm, rbenv나 파이썬의 pyenv도 같은 역할을 한다고 한다.

<리액트 프로그래밍 정석 - Do it>을 보며 리액트를 본격적으로 공부해보려 하는데 nvm 설치에서부터 에러와 마주했다.

에러 내용은 다음과 같다.

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인지 꼭 확인해야 한다.

본인은 Mac Big Sur OS를 사용하고 있기 때문에 쉘은 zsh를 쓰고 있다.

해결 방법은 간단하다.

export NVM_DIR=~/.nvm 
source $(brew --prefix nvm)/nvm.sh

위 코드를 ~/.zshrc 또는 ~/.bash_profile 에 추가해주면 된다.

그리고

source ~/.zshrc

으로 변경 사항을 적용하고 다시 nvm 의 버전을 확인해보면 정상적으로 동작할 것이다.

source
리눅스에서 source 명령어는 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령어이다.
source [환경 설정 파일명]
brew나 nodejs를 설치할 때 등 bash나 zsh 파일 설정 적용하는 과정에서 항상 필요한 명령어이다. 부팅 시 설정파일을 로드하게 되는데, 리부팅 없이 이를 즉시 적용하기 위해서 source 명령어를 사용한다.

0개의 댓글