패키지 잠금 파일

리린·2021년 11월 9일
0

패키지

목록 보기
1/1

yarn.lock 파일이란?

  • lock 파일이란 무엇인가?

미덥지 않은 package.json

  • package.json 파일만 있으면 프로젝트의 모든 개발자가 패키지 매니저를 이용해서 항상 동일한 버전의 패키지를 설치할 수 있을까
  • 안타깝게도 모든 개발자가 정확히 같은 시각 동시에 패키지를 설치하지 않는 이상 개발자들은 서로 상이한 버전의 패키지를 설치할 확률이 발생하게 된다.
  • 가장 큰 이유는 package.json 파일에 등록된 패키지의 버전이 ^나 ~ 등을 이용해서 범위로 지정된 경우가 많기 때문인다.
  • 예를 들어, react 패키지가 "react": "^16.8.2"이라고 등록되어 있으면, SemVer 규칙에 따라 16.8.2 이상 17.0.0 미만의 범위로 버전이 지정된다.

해결방법: package-lock.json, 혹은 yarn.lock

  • 이렇게 동일한 package.json 파일을 사용해도 시간과 장소에 따라서 서로 다른 버전의 패키지가 설치되는 문제는 패키지 잠금을 통해 해결할 수 있다.
  • yarn이나 비교적 최근에 릴리즈된 npm을 사용해서 프로젝트에 새로운 패키지를 설치하면 package.json 파일에 해당 패키지가 등록될 뿐만 아니라 패키지 잠금 파일이 생성된다.
  • package-lock.json이나 yarn.lock과 같은 패키지 잠금 파일에는 프로젝트에 패키지에 최초로 추가될 당시에 정확히 어떤 버전이 설치가 되었는지를 기록된다.

출처: https://www.daleseo.com/js-package-locks/

profile
개발자지망생

0개의 댓글