패스잇
백엔드 개발 · 중급

npm과 yarn의 차이점과 package-lock.json의 역할에 대해 설명해주세요.

힌트 · package-lock.json은 정확한 의존성 버전을 고정하여 일관된 설치를 보장합니다.

의존성 관리병렬 설치결정적 의존성package-lock.jsonyarn.lock

모범답안

npm과 yarn은 모두 Node.js 프로젝트의 의존성 관리를 위한 패키지 매니저입니다. 가장 큰 차이점은 내부적인 동작 방식과 속도에 있습니다. Yarn은 병렬 설치를 통해 npm보다 일반적으로 더 빠른 설치 속도를 제공합니다. 또한, Yarn은 보안에 더 중점을 두어 설계되었습니다.

package-lock.json (npm) 또는 yarn.lock (yarn) 파일은 프로젝트의 의존성 트리를 정확하게 기록하는 역할을 합니다. 이 파일은 특정 시점에 설치된 모든 패키지의 정확한 버전과 의존성 관계를 명시합니다. 이를 통해 개발 환경, 테스트 환경, 배포 환경 등 모든 환경에서 동일한 의존성 버전을 설치하여 일관성을 유지하고, 예기치 않은 오류를 방지할 수 있습니다. 즉, package-lock.json은 프로젝트의 의존성을 "고정"시키는 역할을 한다고 볼 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Node.js 면접 질문

← Node.js 면접 질문 전체 보기