본문 바로가기

프론트엔드

package-lock.json 이란 무엇일까?

프로젝트에서 미사용 패키지를 정리하면서

문득 package-lock.json이 정확히 어떤 역할을 하는지 궁금해졌다.

따라서 package-lock.json에 대해 정리해보려고 한다.

 

 

package-lock.json 파일은 언제 생기는걸까?


새로운 패키지를 설치하면 package.json 파일에 해당 패키지의 버전 정보가 저장된다.

package-lock.jsonmode_modules 폴더나 package.json 이 수정되고 생성될 때 자동으로 생성된다.

package-lock.json 에는 의존성에 대한 정확하고 구체적인 정보를 담게된다.

 

즉, npm install 명령어를 수행할때 생성되는 파일인 것이다.

 

이렇게 package-lock.json 이 생성되면 npm install 명령어로 생성하는 node_modules

package.json 이 아닌 package-lock.json을 사용하여 생성한다.

 

 

 

 

 

package-lock.json 파일은 왜 생기는걸까?


package-lock.jsonpackage.json만으로 정보가 부족하기 때문에 필요하다.

package.json에는 패키지의 버전 정보를 저장할때 version range를 사용한다.

 

즉,

'내가 쓸 패키지는 3.1.2 버전이다.'  가 아닌

'내가 쓸 패키지는 3.1.2버전 이상이다.'  인 것이다. (전자처럼 명시하는것도 가능하다.)