NVM, Node, NPM
NVM이란?
nvm은 일명 node.js를 설치하는 툴
이라고 한다.
node.js를 설치하는 방법은 여럿이 있는데,
예를들면 맥북에서는 패키지 관리자를 통해
- brew install node
를 통해 다운 받을 수 있다.
하지만 이렇게 OS에서 직접 설치를 하게 되면 나중에 본격적인 Node.js 프로젝트를 시작하는데 문제가 생길 수 있다고 한다.
(출처: https://lynmp.com/ko/article/tb585d114096490055)
예를 들어 다른 버전이나 여러 버전의 node.js를 설치해야 될때 이미 OS에는 특정 버전의 node.js가 설치되어 있는 상태이기에 문제가 생길 수 있다고 한다.
파이썬에서 여러 버전을 관리할 수 있는 pyenv나 가상환경 pipenv, venv 등의 node 버전인 것일까?!
NVM 이라는 이름 때문에 node.js 설치 이후에 nvm을 설치하는 것으로 오해할 수 있다고 하는데, 이 부분 꼭 주의해야한다.
1. nvm ➝ Node.js ➝ npm ⭕️
2. apt or yum or brew ➝ Node.js ➝ npm ⭕️ (비추천)
이 둘중에 정해야 하는 것이지 node로 nvm을 설치할 수는 없다고 한다.
예를 들어 내가 부모님을 낳을 수 없는것과 같은 이치일 것이다.
NPM은?
npm 은 node.js 가 설치되면 자동으로 딸려서 설치되는
패키지 매니저
이다.
즉 파이썬의 pip같은 것으로 node.js 패키지를 설치하고 관리하는 것이라고 생각하면 될 것이다.
여기서 문제점은 Node.js 를 OS 에 직접 설치하였든 nvm 으로 설치하였든지에 관계없이 npm은 딸려서 설치된다는 것이다.
본인의 경우도 node, npm은 설치된 상황인데(어디서 설치된지는 모르겠음)
nvm은 설치가 안되어 있었다.
그래서 nvm 설치 후 node 설치를 하는 과정을 진행하고자 한다.
NVM 설치
$ cd ~/
$ git clone https://github.com/nvm-sh/nvm.git .nvm
$ cd ~/.nvm
$ . ./.nvm
그다음 나는 zsh 쉘을 쓰고 있기에,
$ code ~/.zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
이거를 추가해줬다...
$ nvm install node
이후에 위 명령어를 진행해준다.
설치가 완료되는데 시간이 조금 걸린다.(대충 한 5~10분?)
> node --version
v15.12.0
설치 완료!!!
지금은 nvm → node & npm 이와 같은 방식으로 설치된 것이다.