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 이와 같은 방식으로 설치된 것이다.

반응형