[Node.js] Semantic Versioning

김민재·2024년 3월 26일

Node.js

목록 보기
14/36

Semantic Versioning이란?

  • 아래와 같이 노드 패키지들의 버전은 세 자리로 되어있다. 이는 세 자리가 모두 의미가 있다는 뜻의 Semantic Versioning이라고 하면 줄여서 SemVer이라고도 한다.

  • 첫번째 - MAJOR version(호환되지 않는 API 변경 시 MAJOR 버전)
  • 두번째 - MINOR version(이전 버전과 호환되는 방식으로 기능을 추가하는 경우의 MINOR 버전
  • 세번째 - PATCH version(이전 버전과 호환되는 버그 수정 시 PARCH 버전)

틸드(~)

  • PATCH 버전까지만 설치 또는 업데이트한다.
  • 현재 지정한 버전의 마지막 자리 내의 범위에서만 자동으로 업데이트한다.

ex)
~0.0.1 -> (>=0.0.1 <0.1.0)뒷자리(PATCH)만 업데이트 가능

  • 버전을 명시했을 때 위와 같은 범위 내에서 자동으로 업데이트

캐럿

  • MINOR 버전까지만 설치 또는 업데이트한다.

ex) ^1.0.5 -> (>=1.0.5 <2.0) 가운데(MINOR)와 맨뒤(PATCH)업데이트 가능

단, 버전이 1.0.0 미만인 경우에는 예외다.
왜냐하면 API 변경이 계속 일어나는데, 0.3을 쓰다가 0.4를 사용하면 API가 호환이 안 될 수도 있다. 그래서 틸트처럼 맨뒤만 업데이트가 가능하다.

profile
개발 경험치 쌓는 곳

0개의 댓글