본문 바로가기
[Study] 개발 공부

[Study] '--save-dev' 왜, 언제 쓰는지 아시나요?

by 지공A 2025. 3. 25.

패키지 설치 때 아무 생각 없이 설치하던 이번에 타입스크립트 rtk를 설치하면서 --save-dev를 왜 쓰는지 궁금해졌다.

--save-dev는 개발 의존성(development dependency) 으로 설치하겠다는 의미다.

 

사용하는 기준

  • npm install some-package → 실행에 필요한 의존성
    앱이 동작할 때 꼭 필요한 패키지들 (예: react, redux, @reduxjs/toolkit 등)
  • npm install --save-dev some-package → 개발할 때만 필요한 의존성
    빌드, 타입 검사, 테스트 등에만 필요한 것 (예: @types/react-redux, eslint, typescript 등)
앱이 실행되기 위해 꼭 필요한 패키지 react, react-dom, react-router-dom, axios, redux, @reduxjs/toolkit 등 npm install
개발 중에만 필요한 패키지 (타입, 도구, 테스트 등) @types/패키지명, typescript, eslint, prettier, webpack, vitest 등 npm install --save-dev or -D

 

예시

react-redux 리액트에서 리덕스를 쓰게 해주는 핵심 라이브러리 npm install
@types/react-redux 타입스크립트용 타입 정의 파일 (개발 중만 필요) npm install --save-dev
eslint 코드 스타일 검사기 (앱 실행엔 필요 없음) npm install --save-dev
axios 서버랑 통신할 때 필요한 HTTP 클라이언트 (앱 실행 시 필요) npm install

 

공식 문서나 npm 페이지를 잘 보면 "This is only needed for development" 같은 문구가 써있기도 하다.