-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
package-lock 파일은 어떤 용도일까요?
22.07.13 15:42 작성 조회수 467
0
npm init 을 하게 되면 package / package-lock 두개가 생기는데
이 두개를 모두 들고 다녀야하는 것인지, 아니면 package 만 들고 다녀도 되는 것인지 궁금합니다.
package 만 들도 다녀도 된다고 하면 lock 파일은 어떤 용도로 존재하는걸까요?
답변을 작성해보세요.
1
김정환
지식공유자2022.07.14
npm은 package.json을 읽어서 node_modules 폴더에 패키지를 설치합니다. 설치할 때마다 이 패키지 정보가 조금 다를수 있는데요.
- 실행하는 npm 버전에 따라 패키지 설치 알고리즘이 다르기 때문
- 유의적 버전(semver)을 사용할 경우 package.json에 명시한 버전 범위 안에서 최신 버전을 설치하기 때문
위 두 가지 이유로 설치 결과가 조금씩 다릅니다.
그래서 npm install 을 실행하면 package-lock.json 파일이 생성되는데요. 당시에 설치한 패키지 정보를 기록해 둡니다. 이것을 의존성 트리라고 하고요.
매번 npm install 을 실행할 때마다 package-lock.json 파일을 참고해 같은 의존성 트리를 보고 node_modules 폴더에 일관적인 패키지 버전을 설치하는 용도로 사용합니다.
참고: https://docs.npmjs.com/cli/v6/configuring-npm/package-locks
답변 1