티스토리 뷰

🚀 개요

패스트 캠퍼스 온라인 강의를 수강하던 중 유의적 버전(Semantic Version) 에 대해서 배웠다.

Lodash 라이브러리의 4.17.21 버전에서 4는 Major, 17은 Minor, 21은 Patch의 의미를 지닌다.

 

- Major : 기존 버전과 호환되지 않는 새로운 버전 ~ 큰 변경사항

- Minor : 기존 버전과 호환되는 기능이 추가된 버전

- Patch : 기존 버전과 호환되는 버그 및 오타 등이 수정 된 버전

 

앞선 버전 뿐만 아니라 버전에는 `~4.17.21` 이나 `^4.17.21` 과 같이 버전 앞에 ~ 와 ^ 의 심볼이 추가되기도 하는데 이의 의미는 다음과 같다. 

 

^4.17.21 : Major 버전 안에서 가장 최신 버전으로 업데이트 가능(minor와 patch는 변경이 가능함.)

~4.17.21: Minor 버전 안에서 가장 최신 버전으로 업데이트 가능하다(patch 버전만 업데이트 가능)

 

프로젝트 기간이 길어지다 보면 사용한 라이브러리들이 추후 업데이트가 이뤄진다. 이를 우리 프로젝트에 반영하기 위해선 다음과 같이 하면 lodash 라이브러리의 ^와 ~의 의미를 받아들여 각각 Major버전을 고정한 후 최신버전, Major와 Minor 버전을 고정한 후의 최신버전으로 업데이트 하게 된다.

git update lodash

😵 어떤 문제가 발생하였는가?

`npm update`를 이용하여 최신의 라이브러리로 Update하였다. 버전의 최신상황을 확인하기 위하여 package.json 파일을 하였으나, package.json 파일 속 버전은 바뀌지 않았다.

 

<에러 재현>

npm install lodash@4.16.2
npm update lodash

하지만 package.json파일의 lodash 버전이 최신화 되지 않았다.

🧐어떤 시도를 하였는가?

npm update와 관련된 공식문서를 찾기 전에 구글링으로 비슷한 증상을 겪은 사람이 있는지 부터 확인하였다.

 

운이 좋게 이 오류는 흔히 겪는 상황임을 깨달았고, 먼저 해결한 사람들의 로그를 분석하여 해결 할 수 있었다. 해결한 후에는 npm 공식문서를 확인하였다.

 

😛어떻게 해결 하였는지?

npm install lodash@4.16.2
npm update lodash --save

 

 

💡뭘 새롭게 알았는지?

npm update 시에 package.json 파일이 수정 되지 않던 이유 npm update 시에는 package-lock.json 파일만 수정됐었다.

 

npm update <라이브러리> —save 시에 package.json/package-lock.json 파일 둘다 수정이 된다.

 

한번 npm update 시에 package.json 파일이 수정은 안됐지만, Semantic Version 에 의해 최신 버전을 가지고 있는다,

이 상황에서 npm update <라이브러리> —save 하더라도 최신버전이므로 업데이트가 일어나지 않아서, package.json 파일이 수정되진 않았습니다.

 

 

<참고>

https://analogcode.tistory.com/2

 

npm update 시에 package.json 수정안되는 문제

무엇을 개발하던 시간이 지나면 의존성 있는 패키지들을 업데이트해야하는 상황이 무조건 생기기 마련이다. 우리의 NodeJS 프로젝트에서 안전하게 패키지를 업데이트 하는 방법을 알아보자. NodeJ

analogcode.tistory.com

https://docs.npmjs.com/cli/v8/commands/npm-update?v=true#save

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함