Inflearn Community Q&A
package-lock 파일은 어떤 용도일까요?
Written on
·
658
0
npm init 을 하게 되면 package / package-lock 두개가 생기는데
이 두개를 모두 들고 다녀야하는 것인지, 아니면 package 만 들고 다녀도 되는 것인지 궁금합니다.
package 만 들도 다녀도 된다고 하면 lock 파일은 어떤 용도로 존재하는걸까요?
npmpackagetddexpresslockrest-apinodejs
Answer 1
1
jeonghwan
Instructor
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






답변 감사합니다.