프로젝트를 진행하다보면 Node 버전을 바꿔야할 때가 있다.(그렇다고한다..)
필자는 우아한 테크 코스 5기 프리코스를 경험하면서nvm
이라는 것을 처음 접하게 되었다.
왜 이게 필요하고, 어떻게 사용하는지 알아보자.
필자는mac
을 사용하고 있으므로, 그 것을 기준으로 작성할 예정이다.
nvm
은 node version mananger
의 약자이다.
이름만 봐도 node
의 버전을 관리해주는 툴이라는 것을 알 수 있다.
왜 이 툴이 나오게 된걸까?
개발자는 혼자서 일하는 경우가 드물 것이다.(아마도..? 어째서 나는 혼자하는...?)
각자의 컴퓨터를 가지고 협업을 하기 때문에, 제각각 node
환경이 다를 것이다.
node
버전이 다른 상태에서 작업을 진행하면 문제가 뭘까?
특정 node
버전부터 사용 가능한 메소드를 마구마구 사용하다가, 깃허브에서 merge
를 했다고 치자.
그런데 협업자는 node
버전이 달라서 본인의 환경에서는 그 코드가 작동하지 않는 것이다!
혼자서 하는 프로젝트야 본인만 고치면 되니까 문제가 없지만,
규모가 큰 서비스를 제작하는 중에 이런 문제가 발생하면
갈아엎는 수준의 대대적인 수정이 필요할 수도 있을 것이라 생각된다.
따라서, 개발하는 프로젝트에 따라 node
버전을 알맞게 사용할 필요가 있다.
어떤 버전을 사용할지는 개발 초기에 팀 회의를 통해 정하거나...그러지않을까 싶다.
그러면..node
버전이 다른 여러 프로젝트에 참가하고 있는 경우에는 어떨까?
프로젝트 1의 코드를 작성하다가, 프로젝트 2의 코드를 작성할 일이 생기면?
node
를 지우고 필요한 버전으로 다시 설치해야할까? 생각만 해도 귀찮다..
이런 귀찮은 일을 막아주는 것이 바로 nvm(node version manager)
인 것이다!
우선 다음 내용은 Homebrew
가 설치되어 있다는 가정하에 진행합니다.
터미널에 아래 코드들을 입력해 나가자.
brew install nvm
nvm
을 설치한다.
그리고 설치가 잘 된건지 확인하기 위해 버전을 찾아보자.
nvm --version
설치가 잘 되었다면 현재 nvm
의 버전이 나올 것이다.
0.39.2
만약,
-bash: nvm: command not found
zsh: command not found: nvm
위와 같은 상황이 발생한다면 환경 설정을 해줘야한다.
참고로 둘 다 뜨는게 아니라 본인의 터미널 환경에 따라 bash, zsh 중 하나만 뜰 것이다.
vi ~/.bash_profile
vi ~/.zshrc
본인의 터미널 환경에 따라 둘 중 하나를 선택해서 진행하자.
저 코드를 입력해서 파일에 접속하면 터미널에 아래와 같은 일이 벌어질텐데(필자는 그랬다)
아래로 쭈우욱 내려가서
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
이 코드를 입력준다.
그리고 esc
키를 눌러주고
:wq
를 입력해주면 된다. 이는 vim
명령어로, 여기서는 자세히 다루지 않겠다.
source ~/.bash_profile
source ~/.zshrc
그리고 위 코드를 입력해서 재시작을 해준다.
설치 확인을 위해 다시 한번
nvm --version
을 입력해주고, 설치가 잘 된 것인지 확인한다.
이제 nvm
을 설치했으니, 그 목적이었던 다른 버전의 node
를 설치해보자.
우선
nvm ls
를 입력해서 현재 node
설치 목록을 확인해보자.
필자는 이미 설치해서 저렇게 뜨지만,
아마 처음 하시는 분도 비슷하게 뜰 것이라 생각한다.(처음에 어땠는지 기억이 안나요 ㅠㅠ..)
이제 본인이 원하는 node
버전을 설치해보자.
nvm install 14.20.1
필자는 14.20.1
버전을 설치했다.
설치를 했으니 해당 버전을 사용하도록 지정해주자.
nvm use 14.20.1
그리고나서, node
버전이 잘 변경되었는지 확인해보자.
node -v
본인이 변경한 버전으로 잘 나오면 끝!
node
버전을 설치까지 했다면, VSC 등에서 사용하게 될텐데
본인의 IDE에 들어갈 때마다 node
버전이 계속 초기화된다면
nvm alias default v14.20.1
위 코드를 입력하자.
필자는 14.20.1
버전을 디폴트로 사용하고자했다.
이제 IDE의 터미널에서 node -v
를 해보면, 디폴트 버전으로 변경된 것을 볼 수 있을 것이다!
레오나르도 다빈츠님 블로그
priveate님 블로그
志者必得님 블로그
hyeok999님 블로그
Bean's Delvelop Life님 블로그
falsy님 깃허브
야뤼송님 블로그