1. 패키지 매니저
: 패키지 매니저는 Node.js 프로젝트에서 필요한 라이브러리(패키지)를 설치, 관리, 업데이트 할 수 있게 도와주는 도구이다.
1.1 npm (NodePackage Manager)
- Node.js 설치 시 자동설치

1.2 yarn
- 페이스북에서 만든 npm의 대안
- npm보다 빠르고 안정적인 패키지 관리를 목표로 만들어짐
- 설치가 병렬로 진행되어 속도가 빠름
2. package.sjon
: Node.js 프로젝트의 정보를 담고있는 핵심 파일이다.
이 파일은 말 그대로 " 패키지에 대한 설명서" 이다. 프로젝트 이름부터 실행 스크립트까지 다양한 정보들을 담고있다.
Node.js 프로잭트를 만들 떄, npm init 명령어를 실행하면 이 파일이 자동으로 생성된다.
2.1 package.json 의 역할

2.2 기본 구조
- 어떤 이름이고, 어떤 버전이고, 어떤 라이브러리를 사용하는지 기록함
{
"name": "my-app",
"version": "1.0.0",
"description": "나의 첫 Node.js 앱",
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"keywords": ["node", "app"],
"author": "김사과",
"license": "MIT",
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^3.0.2"
}
2.3 package-lock.json
- npm이 실제로 어떤 정확한 버전의 패키지를 설치했는지 기록함
- 모든 하위 의존성까지 버전과 설치 경로를 상세히 기록한다.
- 설치 결과가 고정되므로 재현성을 보장함
- 수정하거나 삭제 금지
- 팀 프로젝트에서는 꼭 같이 Git에 포함해야 모든 개발자의 환경이 일치한다.