package-lock.json 이란?

2019-09-11

package-lock.json 파일이란?

프로젝트에 설치된 노드 모듈들의 의존성 트리를 기록하고 있음.



package-lock.json이 유용한 이유?

git 저장소에 node.js 프로젝트를 커밋할 때 보통 node_modules 폴더는 부피가 커서 commit에 포함시키지 않습니다.이 때 package-lock.json 파일은 꼭 함께 커밋을 해주어야 합니다. 다른 팀원이 이 프로젝트를 처음 pull 받아서 npm install 을 했을 때 개발 당시의 동일한 버전의 모듈들이 설치됨을 보장하기 위함입니다. express 모듈을 프로젝트에 설치하게 되면 package.json 파일에 "express": "~4.16.1" 처럼 Tilde Ranges 표기법으로 버전이 명시됩니다. 4.16.1 버전보다 높은 버전이 npm에 publish 된다면 node install 명령어로 로컬에 모듈을 설치하면 더 높은 버전의 express 모듈이 로컬에 설치가됩니다. 이는 개발당시의 버전과 달라져 예기치 않던 버그가 발생할 수 있습니다. 따라서 package-lock.json은 의존성 관리를 위해 필수이며 꼭 git 저장소에 commit 해야하는 대상입니다.




출처: https://simsi6.tistory.com/56 [곰돌푸우]