CS지식

[개발] package.json 디펜던시 설치 버전관리 ^ ~ 너 뭐야? 쉽고 빠르게 표로 정리 "^4.17.21" 유의적버전 SemVer

차빛 2024. 8. 20. 03:44
반응형

 

유의적 버전 Semantic version 줄여서 symbol이라고도 부르는데요.

프로젝트가 개발되는 특정한 시점 상태에다가 의미를 부여해서 숫자를 매기는 방법입니다.

 

개발중에 패키지를 설치했다면 해당 패키지의 버전을 확인해볼 수 있을텐데요.

그 버전을 어떻게 해석하는지에 대해 알아보고자 합니다.

 


실제로 프로젝트를 개발하면서 이렇게 버전을 부여하기도 하고 혹은 반대로 이미 개발이 되어져 있는 프로젝트에 우리가 버전을 확인해서

기존 버전과 어떻게 달라졌는지 이해하는 용도로 사용.

 

 

  "dependencies": {
    "lodash": "^4.17.21"
  },
  "devDependencies": {
    "parcel": "^2.12.0"
  }

 

 

Major.Minor.Patch

4.17.21

 

^4.17.21 버전 의미
Major 4 기존 버전과는 호환되지 않는 새로운 버전을 뜻하며, 1,2,3과는 호환되지않고 큰 변동사항이 존재
Minor 17 Major 버전하고는 다르게 기존 버전과 호환이 가능하며, 호환이 가능한 범위 안에서 새로운 기능이 추가된 버전
(Major 버전과는 호환되는 기능 추가됐냐 안됐냐 차이)
Patch 21 기존버전과 호환되는 버그 및 오타등이 수정된 버전
^(Caret)   Major버전 안에서 가장 최신 버전으로 업데이트 가능 (4.18.0, 4.xx.x로 업데이트 가능)

^ 없다면 업데이트 없이 해당버전 유지가능
~(Tilde)   Minor 버전안에서 가장 최신 버전으로 업데이트 가능
(4.17.22, 4.17.23, 4.17.xx)

 

 

 

해당 패키지의 가장 최신 버전을 확인하고 싶다면

npm info 패키지명

 

npm info lodash 
---------------

dist-tags:
latest: 4.17.21

 

이 경우, 가장 최신 버전이 4.17.21

 

그럼 패키지의 버전에 따른 기호의 의미와 .사이의 숫자들의 의미를 알아봤습니다.

더 좋은 개발자가 되기 위해선 디테일이 중요하니

모두 디테일에 신경써보아요~!

 

 

반응형