npm 작업 흐름

재현 가능한 패키지 관리 흐름

package.json은 필요한 범위를 선언하고, package-lock.json은 실제 설치 결과를 고정해 팀과 배포 환경이 같은 의존성 트리를 쓰게 만든다.

프로젝트 계약

package.json

선언

scripts, dependencies, devDependencies로 실행 방법과 필요한 패키지 범위를 적는다.

package-lock

고정

설치된 정확한 버전과 하위 의존성 트리를 기록해 같은 결과를 재현한다.

dependencies

서비스 실행에 필요한 런타임 패키지

devDependencies

개발, 테스트, 빌드에만 쓰는 도구 패키지

재현 가능한 패키지 판단 기준

package.json과 package-lock.json을 함께 관리하면 설치, 업데이트, 실행 흐름이 기록되어 다른 환경에서도 같은 프로젝트 상태를 만들 수 있다.