다음의 두가지 동작으로 나뉘어집니다.
- 패키지명을 명시해 특정 패키지를 설치하는 동작
- 패키지명을 명시하지 않고 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를 제외한 의존성 파일만을 내려받게 됩니다.