성장, 그리고 노력

부족하더라도 어제보다 더 잘해지자. 노력은 절대 배신하지 않는다.

도구, 기술, 이론/npm

[npm] 버전 관리 기초 지식(caret, tilde)

제이콥(JACOB) 2019. 12. 10. 15:58

모듈 관리자는 아래와 같은 규칙을 따라야 합니다.

 

- 이전 버전과 호환되지 않는 변경은 메이저 번호를 증가 시킵니다.

- 이전 버전과 호환되는 새로운 기능은 마이너 번호를 증가 시킵니다.

- 기존 기능에 대한 간단한 버그 수정은 패치 번호를 증가 시킵니다.

 

위 규칙들은 기본적으로 셈버 규칙을 따릅니다.

 

이런 규칙을 따르기 때문에 신뢰를 할 수 있고 npm에서 기본 설치시 모든 버전은 캐럿(^, caret)을 붙인 상태가 기본입니다.

캐럿 버전은 `npm update` 를 했을때 최신 마이너 버전까지 업데이트가 됩니다.

하지만 무조건적인 최신 버전도 좋은게 아니고, 패치 버전업이라고 또 다른 사이드 이펙트를 발생시키지 않을거라는 보장은 할 수 없지만, 간단한 버그 수정에 대한 혜택까지도 포기하면서 버전을 고정하는 것 또한 현명하지 못하다고 생각합니다.

 

(셈버는 권장이지 필수가 아닙니다. 개발자의 마음대로 버전업을 할 수도 있고, 개발자가 실수를 할 수도 있습니다. 다만 메이저한 라이브러리들은 그런 경우가 굉장히 적기 때문에 신뢰할 뿐입니다.)

 

 

Tilde(~, 틸드) 라는 기호도 있습니다. 틸드로 설정할 경우(ex "~7.7.0") 가장 최신의 패치 버전업만 진행합니다.


번외

 

대부분은 셈버 규칙을 따르지만 간혹 안따르는 패키지도 있습니다.

버전업을 할때는 npm update 명령어 대신 `npm-check` 패키지를 버전업이 필요한 부분에 대해서만 업데이트 하는 것을 추천드립니다.

반응형

'도구, 기술, 이론 > npm' 카테고리의 다른 글

[npm] 패키지 추천 husky  (0) 2019.12.10
[npm] 패키지 추천 npm-check  (0) 2019.12.09