패키지 관리자는 프로젝트가 의존하고 있는 패키지들을 효과적으로 설치, 업데이트, 삭제할 수 있도록 도와주는 관리 도구이다.
JavaScript의 주요한 패키지 매니저로는 npm과 yarn이 있다.
대부분의 자바스크립트 패키지 매니저는 Node.js 런타임에서 돌아가며 package.json이라는 파일에 프로젝트가 의존하고 있는 패키지 목록을 명시한다.
일반적으로 패키지는 프로젝트 내의 node_modules 디렉토리에 저장된다.
package-lock.json 파일을 통해 패키지 버전 잠금을 지원한다.yarn.lock 파일을 통해 패키지 버전 잠금을 지원한다.개발 할 때 필요한 패키지의 버전들이 설치 시점에 따라 달라지면 문제가 생길 수 있으므로(ex. 팀원마다 설치 시점이 다름) 의존성 패키지를 어느 환경에서든 항상 동일한 버전으로 설치할 수 있게 하는 것
어떤 방식으로 그게 되는건데?
패키지가 최초로 추가될 때의 버전 이 기록된다.패키지 잠금 파일에 있는 버전으로 설치된다.패키지 매니저가 package.json과 동기화 해주므로, 개발자가 직접 수정할 필요도 없고 하면 안 된다.package.json과 패키지 잠금 파일을 반드시 함께 커밋해야 한다.References
https://www.daleseo.com/js-package-locks/
https://velog.io/@zwonlala/TIL-yarn.lock%EC%9D%98-%EC%9A%A9%EB%8F%84