인프런 커뮤니티 질문&답변

라푼젤님의 프로필 이미지

작성한 질문수

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

프로젝트 생성

npm i 로 설치되는 packges.json의 디펜던시 내용에 대해 궁금합니다.

작성

·

289

0

이미 다른사람이 만들어둔 pagacke.json을 저의 로컬에 복사해와서,
npm i 로 설치를 하게되면 package.json의 dependencies와 devDependencies에 있는 모든 라이브러리들이 설치가 되는건지,
dependencies에만 있는것들이 설치가 되는건지 헷갈립니다.
 
아니면 devdependencies가 개발할때만 사용하는거니까 devDependencies에 있는 목록만 설치가 되나요?

답변 1

1

개발 시: 둘 다 설치

배포 시: dependencies

구분하는 이유: 용량 줄이려고

이상입니다.

라푼젤님의 프로필 이미지
라푼젤
질문자

제가 질문을 좀 헷갈리게 쓴거같네요.

npm i를 하면 제 로컬에 설치되는 목록이 dependencies 와 devdependencies의 목록 중 모두 설치되는건지에 대한 질문이었습니다.

예를 들어 dependencies의 목록에 "A" 가 있고, devdependencies에 "B"가 있다면 npm i했을때 "A"와 "B" 둘다 설치되는건지에 대한 질문이었습니다.

검색결과

 인용구: "플래그가 -production 으로, 이 플래그를 붙이면 devDependencies 를 제외한 의존성 파일만을 내려받게 됩니다."

김정환님의 프로필 이미지
김정환
지식공유자

npm i 를 사용하시면 NODE_ENV 환경변수 값을 보는데요 이값이 "production"이 아니면 dependencies와 devDependencies 모두 설치합니다.

npm i 명령어의 production 옵션을 사용하면 dependencies 만 설치하는데요 NODE_ENV=production으로 설정하기 때문입니다.

이 문서를 참고하시면 됩니다.

  • https://docs.npmjs.com/cli/v7/commands/npm-install