다음의 두가지 동작으로 나뉘어집니다.
- 패키지명을 명시해 특정 패키지를 설치하는 동작
- 패키지명을 명시하지 않고 package.json 파일의 의존성을 설치하는 동작
예를 들어$ npm install express
를 실행하면 express 모듈이 설치되고,
$ npm install
을 실행하면package.json
에 포함된 의존성 패키지들이 일괄적으로 설치됩니다.
특정 패키지를 설치할 때는 크게 두 가지 옵션으로 구분됩니다.
- 프로젝트를 구동할 때 필요한 dependencies 목록에 추가될 $ npm install (프로젝트명) 으로 프로젝트를 설치하는 옵션입니다.
- devDependencies 목록에 추가될 $ npm install -D (프로젝트명) 옵션입니다.
-D 플래그는 패키지명을
dependencies
가 아닌devDependencies
에 기록한다는 차이가 있습니다.
dependencies
와devDependencies
의 차이는 아래와 같습니다.
플래그 없이 npm install 만을 사용해도 동작은 하지만, 플래그를 사용해
dependencies
와devDependencies
로 의존성 목록을 구분하면 “개발용", "실제 서비스용” 으로 구분하기 쉬워진다는 면에서 개발자들에게 필요한 기능이라고 볼 수 있습니다.
( 간편한 팁 :
-production
플래그를 붙이면devDependencies
를 제외한 의존성 파일만을 내려받게 됩니다.