package.json 파일은 모든 Node.js 프로젝트의 중심으로, 프로젝트와 그 종속성에 대한 필수 정보를 정의합니다. 이 파일은 수동으로 생성되며 npm과 개발자가 프로젝트를 관리하는 데 도움이 되는 주요 세부 정보를 제공합니다. 이 파일은 프로젝트 메타데이터를 저장하고 종속성을 나열하고 버전 범위를 정의할 수 있도록 합니다. 또한 npm run을 사용하여 실행할 수 있는 사용자 정의 명령을 정의하기도 합니다. 반면 package-lock.json 파일은 npm을 사용하여 종속성을 설치하거나 업데이트할 때 자동으로 생성됩니다. 이 파일은 모든 컴퓨터에서 일관성을 유지하기 위해 중첩된 종속성을 포함한 각 설치된 종속성의 정확한 버전을 잠급니다. 이 파일은 프로젝트에 참여한 모든 사람이 동일한 종속성 버전을 설치하여 버전 불일치로 인한 버그를 줄입니다. package.json과 package-lock.json의 주요 차이점은 목적, 생성, 버전 제어, 인간 상호 작용, 설치 속도에 있습니다. 이 두 파일은 모두 종속성을 정의하는 package.json과 정확한 버전이 설치되도록 보장하는 package-lock.json을 사용하여 프로젝트 안정성과 일관성에 필수적입니다. 버전 불일치로 인한 예상치 못한 버그를 방지하려면 이 두 파일을 버전 제어에 커밋하는 것이 가장 좋습니다.
dev.to
Understanding the Difference Between package.json and package-lock.json
