패키지 관리자는 프로젝트가 의존하고 있는 패키지들을 효과적으로 설치, 업데이트, 삭제할 수 있도록 도와주는 관리 도구이다.
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