LearnApplyShare

npm 버젼의 캐럿(^) 의미

January 29, 2020 - [npm, version]

아웃사이더님이 잘 정리해주신 글 보고 배운 내용 요약


npm 버젼 의미

{MAJOR}.{MINOR}.{PATCH}
  1. MAJOR: 하위호환성이 보장되지 않는 변경사항 발생시
  2. MINOR: 하위호환성 보장 하면서 기능추가
  3. PATCH: 하위호환성 보장 하면서 버그수정

npm 버젼의 ~(틸드), ^(캐럿) 의미

  • 틸드(~) 는 요즘 잘 안 사용
  • 캐럿(^)은 Node.js 모듈이 위 규약을 따른다는 것을 신뢰한다는 가정하에서 동작

    • 그래서 MINOR나 PATCH버전은 하위호환성이 보장되어야 하므로 업데이트를 한다

캐럿(^) 의 동작

최신 마이너 버젼으로 설치

^1.0.2 : >=1.0.2 <2.0
^1.0 : >=1.0.0 <2.0
^1 : >=1.0.0 <2.0

단, 1.0 미만 버젼의 경우는 자릿수까지 체크

^0.1.2 : >=0.1.2 <0.2.0
^0.1 : >=0.1.0 <0.2.0
^0 : >=0.0.0 <1.0.0
^0.0.1 : ==0.0.1

버젼 고정

그냥 간단하게 버젼을 고정하고 싶으면 특수기호 없이 그냥 버젼만 명시

// package.json
"dependencies": {
  "if-logger": "0.4.2",
}

Ref.

https://blog.outsider.ne.kr/1041