4강. npm(Node Package Manager) 이해하기
이번 강의에서는 Node.js 개발에서 가장 중요한 도구 중 하나인 npm을 배웁니다.
목표: 라이브러리를 설치하고 관리하는 방법을 이해하는 것입니다.
1. npm이란?
npm(Node Package Manager)은 Node.js에서 사용하는 패키지(라이브러리) 관리자입니다.
쉽게 말해,
필요한 기능을 설치하고
업데이트하고
삭제하는 도구입니다.
예를 들어, Express를 설치하려면 다음 명령어를 사용합니다.
npm install express
2. 패키지(Package)란?
패키지는 다른 개발자가 만들어 놓은 재사용 가능한 기능 묶음입니다.
예시
Express → 웹 서버
Axios → HTTP 요청
Multer → 파일 업로드
MySQL2 → MySQL 연결
dotenv → 환경 변수 관리
직접 모든 기능을 만들지 않고 필요한 패키지를 설치해서 사용할 수 있습니다.
3. package.json이란?
package.json은 프로젝트의 정보를 저장하는 파일입니다.
예시
{
"name": "node-study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "ISC"
}
4. package.json 주요 항목
항목 설명
name 프로젝트 이름
version 버전
description 프로젝트 설명
main 시작 파일
scripts 실행 명령어
author 제작자
license 라이선스
dependencies 설치된 라이브러리
5. package-lock.json
라이브러리의 정확한 버전 정보를 저장하는 파일입니다.
예를 들어,
Express 5.1.0
처럼 설치된 버전을 기록하여 다른 컴퓨터에서도 동일한 환경을 만들 수 있게 합니다.
일반적으로 직접 수정하지 않습니다.
6. node_modules 폴더
패키지를 설치하면 자동으로 생성됩니다.
예시
NodeStudy
│
├── node_modules
├── package.json
├── package-lock.json
└── index.js
이 폴더에는 설치한 라이브러리와 관련 파일들이 저장됩니다.
7. Express 설치하기
npm install express
줄여서
npm i express
설치 후 package.json의 dependencies에 자동으로 추가됩니다.
"dependencies": {
"express": "^5.1.0"
}
8. 여러 패키지 설치하기
한 번에 여러 개를 설치할 수 있습니다.
npm install express mysql2 dotenv
또는
npm i express mysql2 dotenv
9. 패키지 삭제하기
npm uninstall express
또는
npm remove express
삭제하면 dependencies에서도 함께 제거됩니다.
10. package.json만으로 설치하기
프로젝트를 다운로드한 후에는 node_modules가 없는 경우가 많습니다.
이럴 때는
npm install
명령어 하나만 실행하면 package.json을 읽어서 필요한 패키지를 모두 설치합니다.
11. package.json만 공유하는 이유
실무에서는 node_modules 폴더를 공유하지 않습니다.
공유하는 파일
project
│
├── package.json
├── package-lock.json
└── index.js
다른 개발자는
npm install
한 번만 실행하면 같은 개발 환경이 만들어집니다.
12. npm Scripts
자주 사용하는 명령어를 package.json에 등록할 수 있습니다.
예시
"scripts": {
"start": "node index.js"
}
실행
npm start
13. 개발용 스크립트
자동 재실행을 위해 nodemon을 사용합니다.
"scripts": {
"dev": "nodemon index.js"
}
실행
npm run dev
14. 개발 의존성(devDependencies)
개발할 때만 필요한 패키지는 --save-dev 옵션으로 설치합니다.
npm install --save-dev nodemon
또는
npm i -D nodemon
설치 후
"devDependencies": {
"nodemon": "^3.1.0"
}
처럼 저장됩니다.
15. dependencies와 devDependencies 차이
구분 용도
dependencies 실제 서비스에서 사용하는 패키지
devDependencies 개발 중에만 사용하는 패키지
예시
Express → dependencies
Nodemon → devDependencies
16. 패키지 정보 확인
설치된 패키지를 확인합니다.
npm list
최상위 패키지만 보기
npm list --depth=0
17. 실습 1
Express를 설치해 보세요.
npm install express
18. 실습 2
Nodemon을 개발 의존성으로 설치해 보세요.
npm install --save-dev nodemon
19. 실습 3
package.json에 아래 내용을 추가해 보세요.
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
}
실행
npm start
npm run dev
20. 실무 프로젝트 구조
NodeStudy
│
├── node_modules
├── package.json
├── package-lock.json
├── index.js
├── routes
├── controllers
├── models
├── public
├── views
└── uploads
이번 강의 핵심 정리
npm은 패키지를 관리하는 도구입니다.
package.json은 프로젝트 정보와 의존성을 관리합니다.
package-lock.json은 설치 버전을 고정합니다.
node_modules에는 설치된 패키지가 저장됩니다.
dependencies와 devDependencies의 차이를 이해해야 합니다.
npm start, npm run dev 같은 스크립트를 활용하면 개발이 편리해집니다.
실습 체크리스트
✅ express 설치
✅ nodemon 개발 의존성 설치
✅ package.json 구조 확인
✅ npm start 실행
✅ npm run dev 실행
이번 강의에서는 Node.js 개발에서 가장 중요한 도구 중 하나인 npm을 배웁니다.
목표: 라이브러리를 설치하고 관리하는 방법을 이해하는 것입니다.
1. npm이란?
npm(Node Package Manager)은 Node.js에서 사용하는 패키지(라이브러리) 관리자입니다.
쉽게 말해,
필요한 기능을 설치하고
업데이트하고
삭제하는 도구입니다.
예를 들어, Express를 설치하려면 다음 명령어를 사용합니다.
npm install express
2. 패키지(Package)란?
패키지는 다른 개발자가 만들어 놓은 재사용 가능한 기능 묶음입니다.
예시
Express → 웹 서버
Axios → HTTP 요청
Multer → 파일 업로드
MySQL2 → MySQL 연결
dotenv → 환경 변수 관리
직접 모든 기능을 만들지 않고 필요한 패키지를 설치해서 사용할 수 있습니다.
3. package.json이란?
package.json은 프로젝트의 정보를 저장하는 파일입니다.
예시
{
"name": "node-study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "ISC"
}
4. package.json 주요 항목
항목 설명
name 프로젝트 이름
version 버전
description 프로젝트 설명
main 시작 파일
scripts 실행 명령어
author 제작자
license 라이선스
dependencies 설치된 라이브러리
5. package-lock.json
라이브러리의 정확한 버전 정보를 저장하는 파일입니다.
예를 들어,
Express 5.1.0
처럼 설치된 버전을 기록하여 다른 컴퓨터에서도 동일한 환경을 만들 수 있게 합니다.
일반적으로 직접 수정하지 않습니다.
6. node_modules 폴더
패키지를 설치하면 자동으로 생성됩니다.
예시
NodeStudy
│
├── node_modules
├── package.json
├── package-lock.json
└── index.js
이 폴더에는 설치한 라이브러리와 관련 파일들이 저장됩니다.
7. Express 설치하기
npm install express
줄여서
npm i express
설치 후 package.json의 dependencies에 자동으로 추가됩니다.
"dependencies": {
"express": "^5.1.0"
}
8. 여러 패키지 설치하기
한 번에 여러 개를 설치할 수 있습니다.
npm install express mysql2 dotenv
또는
npm i express mysql2 dotenv
9. 패키지 삭제하기
npm uninstall express
또는
npm remove express
삭제하면 dependencies에서도 함께 제거됩니다.
10. package.json만으로 설치하기
프로젝트를 다운로드한 후에는 node_modules가 없는 경우가 많습니다.
이럴 때는
npm install
명령어 하나만 실행하면 package.json을 읽어서 필요한 패키지를 모두 설치합니다.
11. package.json만 공유하는 이유
실무에서는 node_modules 폴더를 공유하지 않습니다.
공유하는 파일
project
│
├── package.json
├── package-lock.json
└── index.js
다른 개발자는
npm install
한 번만 실행하면 같은 개발 환경이 만들어집니다.
12. npm Scripts
자주 사용하는 명령어를 package.json에 등록할 수 있습니다.
예시
"scripts": {
"start": "node index.js"
}
실행
npm start
13. 개발용 스크립트
자동 재실행을 위해 nodemon을 사용합니다.
"scripts": {
"dev": "nodemon index.js"
}
실행
npm run dev
14. 개발 의존성(devDependencies)
개발할 때만 필요한 패키지는 --save-dev 옵션으로 설치합니다.
npm install --save-dev nodemon
또는
npm i -D nodemon
설치 후
"devDependencies": {
"nodemon": "^3.1.0"
}
처럼 저장됩니다.
15. dependencies와 devDependencies 차이
구분 용도
dependencies 실제 서비스에서 사용하는 패키지
devDependencies 개발 중에만 사용하는 패키지
예시
Express → dependencies
Nodemon → devDependencies
16. 패키지 정보 확인
설치된 패키지를 확인합니다.
npm list
최상위 패키지만 보기
npm list --depth=0
17. 실습 1
Express를 설치해 보세요.
npm install express
18. 실습 2
Nodemon을 개발 의존성으로 설치해 보세요.
npm install --save-dev nodemon
19. 실습 3
package.json에 아래 내용을 추가해 보세요.
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
}
실행
npm start
npm run dev
20. 실무 프로젝트 구조
NodeStudy
│
├── node_modules
├── package.json
├── package-lock.json
├── index.js
├── routes
├── controllers
├── models
├── public
├── views
└── uploads
이번 강의 핵심 정리
npm은 패키지를 관리하는 도구입니다.
package.json은 프로젝트 정보와 의존성을 관리합니다.
package-lock.json은 설치 버전을 고정합니다.
node_modules에는 설치된 패키지가 저장됩니다.
dependencies와 devDependencies의 차이를 이해해야 합니다.
npm start, npm run dev 같은 스크립트를 활용하면 개발이 편리해집니다.
실습 체크리스트
✅ express 설치
✅ nodemon 개발 의존성 설치
✅ package.json 구조 확인
✅ npm start 실행
✅ npm run dev 실행
#4강. npm(Node Package Manager) 이해하기