Node.js 버전이 달라..?
개인 프로젝트를 진행하는데 기존에 존재하고 있는 boiler-plate에 추가 작업을 하려고 했었습니다. server와 client단이 나누어져 있기 때문에 각각에 대한 npm을 install 해주고 npm run을 실행하고서 잘 돌아가는지 확인하는데 코드를 만진 것도 없는데 오류가 나서 당황했습니다 😂
오류 코드를 살펴보니 boiler-plate에서 사용하는 노드 버전은 10.16.0이었는데 최신 버전의 node를 사용니까 지원하지 않거나 바뀐 라이브러리들이 있던 것이었습니다. 그렇다고 해서 node버전을 예전 것으로 다운로드하기에는 너무 귀찮겠다고 생각했고.. 언제나 해결책은 있으니까 해결 방법을 찾아보았습니다.
구글에 단순히 노드 버전 관리라고만 쳐도 다양한 정보가 나옵니다.
노드의 버전을 관리하는 NVM이라는 라이브러리를 많은 개발자들이 사용하고 여러 노드 버전을 사용할 수 있으며 협업에 대한 이점을 챙길 수 있어서 저도 사용해보기 위해 이 글을 쓰게 됐습니다 .

현재 내가 사용하고 있는 node 버전이 10.16.0으로 설정되어 있다는 것입니다.
프로젝트마다 node 버전이 다를 텐데 이럴 때 NVM으로 여러 가지 node버전을 다운로드해서
적절하게 사용하도록 하면 될 것 같습니다 ㅎㅎ
1. NVM 설치하기
- Mac OS Bigsur 11.4 환경에 설치를 했다.
- Homebrew
- zsh
- 저는 Mac Os를 사용하므로 Mac Os기준으로 설명을 드리겠습니다.
- Homebrew 설치하기
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
터미널에 위의 코드를 복사하셔서 붙여 넣으셔도 되고 Homebrew 공식 사이트에 들어가셔도 됩니다.
- NVM 설치하기
brew install nvm
만약 brew를 설치 안 하셨다면 아래의 코드를 실행해주시길 바랍니다!
sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
- NVM 확인하기
nvm --version
아래와 같은 에러가 나온다면 환경설정을 해주어야 합니다.
-bash: nvm: command not found
zsh: command not found: nvm
- NVM 환경설정 - 1
- Bash
vi ~/.bash_profile
export 관련 코드를 삽입해주세요.
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
- zsh
vi ~/.zshrc
export 관련 코드를 삽입해주세요.
export NVM_DIR="$HOME/.nvm"source $(brew --prefix nvm)/nvm.sh
만약 vim 단축키를 모르신다면 [vim 단축키] 통해 공부해봅시다.
- NVM 환경설정 - 2
- bash
ource ~/.bash_profile
- zsh
source ~/.zshrc
- NVM을 이용하여 Node 버전 관리하기
nvm install v[설치버전]
## 설치 : nvm install v10.16.0
nvm uninstall v[설치버전]
## 삭제 : nvm uninstall v10.16.0
nvm use v[사용할 버전]
nvm ls
## 현재 설치된 노드 버전 리스트를 보여줍니다.
nvm alias default v[설치버전]
## 터미널 시작시 노드 기본버전 설정
node --v
## 노드 버전 확인
nvm --version
## nvm 버전 확인
- NVM을 이용하여 프로젝트에 Node 버전 명시하기

루트 디렉터리에. nvmrc라는 파일을 생성해 주신 후 파일 내부에 사용할 node 버전을 명시해줍시다.

터미널에서 nvm use를 입력하신 후 결과를 지켜봅시다.

NVM이 정상적으로 작동되는 걸 볼 수 있습니다.
이렇게 NVM을 사용하면 하나의 프로젝트를 개발할 때 협업을 한다면
다른 노드 버전을 받아와도 관리를 할 수 있고 편할 것 같습니다.
아직 개발자로서 커리어를 시작하지는 못했지만 이렇게 정보를 하나씩 정리해두면 언젠간 쓰일날이 오겠죠!!
다음 글은 CLI 오류에 대해서 알아보도록 할 것 같은데 nvm을 사용하면서 해당 오류가 사라졌네요 ..
CLI 오류에 대한 해결 글을 링크해 두겠습니다 .
참고자료 - https://github.com/nvm-sh/nvm
nvm-sh/nvm
Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - nvm-sh/nvm
github.com
'개발' 카테고리의 다른 글
[Javascript] document.Selection 과 Range 정리 (0) | 2021.08.16 |
---|---|
[Javascript] this에 대해서 (0) | 2021.08.16 |
클래스형 컴포넌트 , 함수형 컴포넌트 ? (0) | 2021.04.03 |
Git 화살표 폴더 해결 ! (0) | 2021.03.16 |
Node JS , React 를 이용한 Boiler-plate 구현하기 - Client Part (0) | 2021.02.01 |