프로젝트 패키지 관리를 위해 사용하는 npm 이나 yarn 의 경우 메타정보를
package.json으로 관리한다.
package.json에 해당 프로젝트가 의존하고있는 모든 패키지 이름과
버전이 나열이 되어있는데, 일반적으로 설치되어야 하는 패키지들은 dependencies, 개발 할 때만 필요한 패키지들은 devDependencies 항목에 명시된다.
만약 여러명의 개발자가 투입된 프로젝트에서 각자 react 버전이 다르다면
서로 패키지 버전이 다른이유로 어떠한 오류가 발생할지 예상할수없다.
때문에 yarn에서 패키지 잠금을 지원하고 이를 사용하면 프로젝트에 새로운 패키지 설치 시
package.json에 해당 패키지가 등록될 뿐만 아니라 패키지 잠금 파일이 생성되어 프로젝트에 패키지에 최초로 추가될 당시에 정확히 어떤 버전이 설치 되었는지를 기록한다.
이런 정보들은 yarn install을 사용해 패키지 모듈 전체를 다시 설치해야하는 경우 이전에 사용하던 패키지 정보를 기억해 사용하던 버전을 맞춰줄수있게 된다.