티스토리 뷰
🚀 개요
패스트 캠퍼스 온라인 강의를 수강하던 중 유의적 버전(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
https://docs.npmjs.com/cli/v8/commands/npm-update?v=true#save
'트러블 슈팅' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Github Actions
- FE 주니어
- 인프콘 2023
- 프론트엔드 성능
- kpt
- FE
- Vercel
- 프론트엔드개발자
- 국비지원
- ci/cd
- next 14
- 이미지최적화
- 성능 측정
- 로딩성능
- JavaScript
- 깃허브 사용법
- RARS
- 성능 개선
- 리뷰
- Not Working
- no found
- 모노레포
- 깃허브
- 사이드프로젝트
- netlify
- Tailwind CSS
- 부트캠프
- 패스트캠퍼스
- 국비지원취업
- 개발자 회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |