프론트엔드를 구성할 때 필요한 모듈이나 라이브러리를 설치하려면 npm install [패키지명] --save-dev
와 같이 뒤에 추가로 적혀있는 것들을 볼 수 있다.
자주 보이는 옵션들을 알아보고 사용할 때의 차이점을 적어본다.
모듈 설치는 두가지로 나뉜다
1. 특정 패키지를 설치할 때
2. package.json 파일이 있어서 의존성을 설치할 때
npm install [패키지명] <옵션>
npm i [패키지명] <옵션>
-P
또는 --save-dev
패키지를 설치하고 package.json의 dependencies목록에 추가된다.
이 옵션은 사용하지 않아도 기본으로 dependencies에 적용된다.
-D
또는 --save-dev
패키지를 설치하고 package.json의 devDependencies목록에 추가된다.
💡 dependencies: 실제 코드에 포함되어 앱 구동시 필요한 패키지
devDependencies: 실제 코드에 포함되지 않고, 개발 단계에만 필요한 패키지
--production으로 빌드하면 devDependencies패키지들은 포함되지 않음.
-g
패키지를 현재 프로젝트가 아닌 시스템의 node_modules
에 설치한다.
프로젝트에서 사용할 수는 있지만 package.json파일에 추가되지 않음.
💡
npm root -g
명령어로 시스템 경로를 확인할 수 있다.
-E 또는 --save-exact
버전명을 명시한 경우 버전이 정확히 일치하는 패키지를 받는다.
--no-save
패키지 설치는 하되 dependencies에 추가하지 않는다.
--force
이미 패키지가 설치되어 있어도 원격저장소에 새로 설치한다
npm install <옵션>
npm i <옵션>
다른 프로젝트의 패키지를 내려받았을 경우(git clone 처럼) 설치할 때는 패키지명 없이 npm install
만 하면 필요한 패키지를 모두 내려받는다.
npm install --production
package.json에서 devDependencies 목록에 있는 패키지는 제외하고 설치한다.
만약, 노드의 NODE_ENV 환경변수에 production이 set 되어 있는 경우 모든 패키지를 받고싶으면 --production=false
옵션으로 prod와 dev패키지를 모두 받을 수 있다.