본문 바로가기
IT오류잡기/React공부하기

[React.js] yarn.lock / package-lock.json 파일을 혹시 .gitignore에 포함 하셨나요 ?

by 고집프로그래머 2022. 11. 15.
반응형

안녕하세요. 오늘 문득 yarn.lock 파일에 대해서 궁금하여 공부를 해 보았습니다.

1. yarn.lock / package-lock.json 파일은 왜 있는 건가요?

패키지 잠금 파일로 패키지 매니저 npm을 사용할 경우 package-lockjson 파일을 , yarn을 사용할 경우 yarn.lock 파일이 생성됩니다.

프로젝트의 패키지는 package.json에 모두 정의되어있습니다. 해당 파일에 패키지 이름과 버전이 나열되어있습니다.

package.json에 보면 패키지 버전 앞에 ^ 혹은 ~ 혹은 아무것도 없는 경우로 나누어집니다. 

^ 의미 : 해당 버전 이상 ~ 미만의 버전을 설치 (예를 들어 "^12.4.1" 이면 "12.4.1"이상 , "13.0.0"미만)

패키지는 끊임없이 버전이 변경되고 있습니다. 대부분 이전 버전들과는 크게 차이가 없지만, 시간이 오래된 옛날 버전의 패키지와 최신 버전의 패키지의 사용 용도 혹은 기능이 제거되거나 추가되기도 합니다. 그에 따른 버그 발생 확률이 굉장히 높아집니다.

package-lock.json이나 yarn.lock과 같은 패키지 잠금 파일이 없다면 개발자마다 모두 상이한 버전을 다운로드하게 됩니다. package-lock.json이나 yarn.lock은 프로젝트 패키지에 최초로 추가될 정확한 버전의 정보를 담고 있습니다.

저도 항상. gitignore에 넣고 관리했는데, 절대 없으면 안 되는 파일이었네요.

 

 

728x90
반응형