NPM과 NVM 그리고 NPX
FE BE 개발 메모장/Node.js, API

NPM과 NVM 그리고 NPX

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