본문 바로가기

Programming/FE Tooling

npm package.json에서 사용하는 틸드(~), 캐럿(^)에 대하여

package.json에서 빈번하게 사용하는 틸드, 캐럿에 대한 명쾌한 설명이 부족해서 정리했다. 

캐럿은 Semantic Versioning(이하 SemVer, 유의적 버전) 규약을 따르므로 추가로 공식 문서를 읽어보는 것도 좋다.

 

구분 설명 예시
틸드(~) x.y.z 중 z 범위 내에서 버전 업데이트 ~1.1.0 : 1.1.0<=, 1.2>
캐럿(^) x.y.z 중 x 이하 하위호환성이 보장되는 범위 내에서 버전 업데이트 ^1.1.0 : 1.1.0<=, 2.0>

※ 예외) 캐럿도 pre-release 버전(<1.0) 일 경우 틸드처럼 동작한다.