npm Reproducible Install
package-lock은 설치 결과를 고정해 팀의 의존성 환경을 맞춘다
package.json은 원하는 범위를 말하고, lock 파일은 실제 설치된 버전을
기록해 같은 결과를 재현한다.
파일 역할
package.json
의존성 이름, 버전 범위, scripts 명령을 선언한다.
lock 파일
실제 버전, 하위 의존성, 다운로드 정보를 고정한다.
scripts
npm run test처럼 반복 실행할 작업을 이름으로 묶는다.
01
의존성 선언
프로젝트가 필요한 패키지와 허용 버전 범위를 기록한다.
02
설치 실행
npm은 범위를 해석해 실제 설치할 버전 묶음을 계산한다.
03
잠금 기록
계산된 결과가 package-lock에 저장되어 다음 설치 기준이 된다.
04
검증 실행
테스트와 시작 스크립트로 설치 결과가 실제 동작하는지 확인한다.
Git 관리
package-lock은 팀원이 같은 의존성 트리를 받도록 함께 커밋한다.
문제 예방
내 컴퓨터에서만 되는 문제를 줄이려면 잠금 파일 변경을 확인한다.
명령 재사용
반복 작업은 scripts에 두고
npm run으로 실행한다.