본 가이드는 concept node npm 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
Package.json 버전표기법
버전 구성
버전은 크게 3가지로 분류 됩니다.
Major.Minor.Patch
- Major : 이전 버전과 호환성이 보장되지 않는 업데이트이며 주로 대규모 업데이트가 일어났을 때 메이저 버전이 변경됩니다.
- Minor : 이전 버전과 호환 되면서 일부 새로운 기능이 추가되거나 수정되는 업데이트가 일어났을 때 마이너 버전이 변경됩니다.
- Patch : 버그 수정 및 성능 개선과 관련된 업데이트가 일어났을 때 패치 버전이 변경됩니다.
버전을 표기하는 방법이 여러개?
package.json 을 보면 다음과 같이 버전 앞에 \~ 또는 \^ 문자가 붙은 것을 볼 수 있습니다.

이 둘의 차이에 대해 알아보겠습니다.
Tilde (틸드, \~)
버전 앞에 \~ 표시는 tilde (틸드) 라고 부르며, 최신 패치 버전을 가리키는 데 사용됩니다. 예를 들어 package.json 에 \~2.4.1 으로 명시를 한 상태에서 패키지 저장소에 2.4.3 최신 버전이 출시된 상태라고 한다면 npm install 을 진행 할 때 설치 되는 버전은 2.4.3 이 되는 것입니다. 이 때 패키지 저장소에 메이저 및 마이너 버전보다 높은 버전이 출시 되었다 하더라도 tilde 는 앞에 메이저 버전과 마이너 버전은 유지하고 패치 버전에 대해서만 최신 버전을 가져옵니다.
Caret (캐럿, \^)
버전 앞에 \^ 표시는 caret (캐럿) 이라고 부르며, 최신 패치 버전 뿐만 아니라 최신 마이너 버전을 가리키는 데 사용됩니다. 예를 들어 package.json 에 \^2.4.1 으로 명시를 한 상태에서 패키지 저장소에 2.7.7 최신 버전이 출시된 상태라고 한다면 npm install 을 진행 할 때 설치되는 버전은 2.7.7 이 되는 것입니다. 이 때 패키지 저장소에 메이저 버전보다 높은 버전이 출시 되었다 하더라도 caret 은 앞에 메이저 버전은 유지하고 마이너 버전과 패치 버전에 대해서만 최신 버전을 가져옵니다.
Leave a Reply