Tech

Diary

Lecture

개발중

About Me

개발중

package-lock.json

JeongSeulho

2024년 03월 12일

준비중...
클립보드로 복사
thumbnail

1. package.json

  • semver 에서는 [Major].[Minor].[Patch] 와 같은 방식으로 버저닝이 구성

image

  • package.json은 의존성을 npm 모듈의 semantic versioning(semver) 기반 범위 지정 방식으로 관리

image

2. package-lock.json

  • package-lock.jsonnpm i를 명령어로 package.json를 기반으로 의존성 모듈을 설치할 때의 정확한 의존성 트리(스냅샷)를 저장

npm i, npm ci

(1) npm i

  • npm ipackage.json을 기반으로 모듈을 설치

이 과정에서 위에서 설명한 표기법을 기반으로 조금씩 다른 버전의 모듈을 설치

  • 설치된 구체적인 의존성 트리를 package-lock.json에 저장

(2) npm ci

  • npm cinode_modules 디렉토리를 삭제하고 package-lock.json을 기반으로 모듈을 설치

npm i와 달리 package-lock.json에 저장된 의존성 트리를 기반으로 정확히 같은 버전의 모듈을 설치

  • node_modules 폴더가 기존에 없을 경우 npm i보다 빠르게 설치 가능
  • 개발을 통해 구체적으로 실행이 보장된 버전이고 모듈 설치 속도가 빠르므로 CI 과정이나 프로덕션 환경에서 사용