Backend/Node.js

[Node.js] npm install 옵션

장바금 2022. 11. 16. 16:25

 NPM (Node Package Manager)? 

npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 명령 줄 클라이언트(npm), 그리고 공개 패키지와 지불 방식의 개인 패키지의 온라인 데이터베이스(npm 레지스트리)로 이루어져 있다. 이 레지스트리는 클라이언트를 통해 접근되며 사용 가능한 패키지들은 npm 웹사이트를 통해 찾아보고 검색할 수 있다. 패키지 관리자와 레지스트리는 npm사에 의해 관리된다.

 

 npm을 이용한 패키지 설치 

$ npm install <package>
  1. install 대신 i를 약어로 사용이 가능
    → $ npm i <package>
  2. <package> 에는 설치할 패키지 명을 적는다. 만약 특정한 버전을 설치하고 싶다면 패키지 이름 뒤에 골뱅이(@)를 넣고 이어서 버전 명을 적으면 된다.
    → $ npm install joi@16.1.8
  3. 이미 package.json이 포함되어 있는 프로젝트에서 기존 의존성 패키지들을 일괄적으로 설치하고 싶다면 npm install만 입력하여 모든 의존성 패키지를 일괄 설치할 수 있다.
    → $ npm install

 

 Semantic Versioning (유의적 버전) 

 버전 정보의 구성 

<pachage>@1(major version).0(minor version). 0(patch version)

  1. Major version Number  하위 호환이 되지 않는 변경 사항
  2. Minor Version Number  하위 호환이 되는 변경 사항
  3. Patch Version Number  간단한 버그 수정

 

 local 설치와 global 설치 

  1. local 설치는 지역 설치라고도 하며 패키지는 프로젝트 루트 디렉터리 내의 node_modules 디렉터리에 설치되며 해당 프로젝트 내에서만 사용이 가능하다.
  2. global 설치는 전역 설치라고도 하며 -g(--global) 옵션을 이용해 설치한다. 패키지 설치 위치는 아래 경로와 같다.
    - macOS  /usr/local/lib/node_modules
    - window  c:\Users\{UserName}\AppData\Roaming\npm\node_modules
$ npm install -g <pachage>

 

 npm install 옵션 

  1. --save  npm v5.X.X 부터는 기본 값 옵션으로 포함되며 package.json의 dependency 항목에 모듈을 추가한다.
  2. -P (--save-prod)  install을 할 때 이미 -P 옵션이 기본적으로 부과된 상태이며, dependency에 패키지를 등록하고 프로젝트가 배포 시 사용될 의존성 모듈을 정의하고 설치한다.
  3. -D (--save-dev)  devDependencies에 패키지를 등록하며, 개발 단계에서만 사용하는 의존성 모듈이라는 것을 명시한다. 
  4. -O (--save-optional)  dependencies에 패키지를 등록하며 선택적 의존성 모듈임을 명시하고 설치한다.
  5. -E (--save-exact)  dependencies에 패키지를 등록하며 npm의 기본 SemVer 연산자(^, ~ 같은)를 사용하는 대신 정확한 버전으로 설치한다.
  6. -B (--save-bundle)  bundleDependencies에 패키지를 등록하며, 번들로 묶을 패키지 의존성 모듈을 명시하고 설치한다.
  7. --no-save  dependencies에 패키지를 등록하지 않는다.
  8. --dry-run  아무것도 설치를 진행하지 않지만 설치하는 것과 같이 log를 보여준다.
  9. --force  이미 디스크에 복사본이 있어도 무조건 다시 패키지를 다운로드하게 강제한다.