NVM: Node Version Manager
말 그대로 Node의 버전을 관리하는데, 여러 버전의 Node.js를 설치하고 사용할 버전을 쉽게 전환할 수 있다. NVM을 통해서도 Node.js 설치가 가능하다.
리눅스를 사용한다면 다음과 같은 명령어를 입력한다.
curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
nvm을 바로 사용하기 위해서는 재부팅을 해줘야 하는데 source 명령어를 입력해 .bashrc 파일을 바로 적용되도록 한다.
bash: source ~/.bashrc
zsh: source ~/.zshrc
ksh: . ~/.profile
source 명령어는 스크립트 파일을 수정한 후 수정된 값을 바로 적용하기 위해 사용하는 명령어다.
노드 버전 확인
설치할 노드버전을 확인하기 위해 다음과 같은 명령어를 입력한다.
nvm list-remote //전체 버전을 보여줌
nvm list //설치되어있는 버전만 보여줌
원하는 버전을 설치
전체 버전을 조회한다음 원하는 버전을 다음과 같은 명령으로 설치한다.
nvm install v14.17.1
설치가 완료되고, 버전 확인을 해보자
node -v
npm -v
NPM : Node Packaged Manager
NPM은 Node.js로 만들어진 패키지(모듈)들을 관리해준다. 따로 설치할 필요없이 Node.js를 설치하면 동시에 설치된다. npm을 통해 자바스크립트로 만들어진 다양한 라이브러리를 설치하여 프로젝트를 효율적으로 작업할 수 있게 도와준다.
NPM 명령어
- npm init : package.json을 생성한다
- npm install (Pacakge name) : 어느 모듈을 설치한다.
- npm update (Package name) : 패키지 업데이트를 실행
- npm remove (Package name) : 패키지를 제거
- npm info (package name) : 패키지 정보 확인
- npm version (version) : 패키지의 버전 전체 변경
- npm version patch : 패키지의 버전을 한단계 올림
- npm version minor : 패키지의 마이너 버전을 한단계 올림(패치 초기화)
- npm version major : 패키지의 메이저 버전을 한단계 올림(마이너, 패치 초기화)
NPM 패키지 생성
특정 폴더 내에서 터미널을 열거나 VSCode내에서 터미널을 열어 다음 명령어로 Package.json을 생성한다.
npm init
패키지의 정보를 입력하는 내용이 나옴
"name": "test",
"version": "1.0.0",
"description": "test"
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "npm",
"license": "MIT"
해당 폴더 내의 pacakge.json이 생성됨.
NPM 패키지 설치
npm install nodemon
npm 설치 시 추가 명령어
설치할 프로젝트 폴더 내에서 진행한다.
-D, --save-dev
--save
-D, --save-dev
npm install --save-dev 를 이렇게 줄일수가 있다.
npm i -D
--save : 패지키를 ./node_module 디렉토리에 설치하고 .package.json 파일의 dependencies 항목에 플러그인 정보를 저장한다.
--save-dev : 패지키를 ./node_module 디렉토리에 설치하고 .package.json 파일의 devDependencies 항목에 플러그인 정보를 저장한다.
-E, --save-exact
-E, --save-exact
npm 모듈 버전 중 연산자(^, ~)를 사용하는 대신 정확한 버전으로 설치한다.
--save-exact
NPM에서 유의적 버전(Semver)에 대해 알아보자
의존성 모듈의 버전을 엄격하거나 느슨하지 않게 관리하기 위해 npm에서는 Semver(Semantic Versioning)를 지원한다.
API에 호환되지 않는 변경이면 Major 버전을 올린다.
API가 호환되면서 바꾸거나 추가하는 경우 Minor 버전을 올린다.
API가 영향이 없는 버그 수정은 Patch 버전을 올린다.
이러한 시스템을 유의적 버전이라고한다.
모듈의 범위(Range)
연산자 | 설명 |
< | 버전보다 작은 범위 |
<= | 버전보다 작거나 같은 범위 |
> | 버전보다 큰 범위 |
>= | 버전보다 크거나 같은 범위 |
= | 같은 범위 |
^ | Minor Level 범위 |
~ | Patch Level 범위 |
ref: "nvm, npm","npm공홈","npm-install","HEROPY Blog"
'FE BE 개발 메모장 > Node.js, API' 카테고리의 다른 글
CORS (Cross Origin Resource Sharing) 적용 방법 (0) | 2021.06.16 |
---|---|
Express API (0) | 2021.03.03 |
Node.js 에 대해 자세히 알아보자 (0) | 2021.02.09 |
fetch API (0) | 2021.02.03 |