Node.js의 패키지 관리자 NPM(Node Package Manager)의 역할과 기능을 이해하고, NPM 레지스트리 및 패키지 관리 방법을 학습한다.
1. NPM 소개
NPM이란?
· NPM은 Node.js의 기본 패키지 관리자이다.
· Node.js 애플리케이션 개발에 필요한 패키지(모듈)를 설치하고 관리하는 도구이다.
· NPM은 세계 최대의 소프트웨어 레지스트리로, 다양한 오픈 소스 패키지를 포함하고 있다.
NPM의 설치 확인
· Node.js를 설치하면 NPM도 자동으로 설치된다.
· 터미널에서 다음 명령어를 실행하여 NPM이 설치되었는지 확인할 수 있다.
npm -v
2. NPM의 역할과 기능
패키지 설치
· NPM을 사용하여 다양한 패키지를 설치할 수 있다.
· 전역(global)과 지역(local) 설치 옵션이 있다.
지역 설치 예제
npm install express
· 위 명령어는 express 패키지를 현재 프로젝트의 node_modules 폴더에 설치한다.
전역 설치 예제
npm install -g nodemon
· 위 명령어는 nodemon 패키지를 전역으로 설치하여, 모든 프로젝트에서 사용할 수 있다.
패키지 제거
· 설치된 패키지를 제거할 수 있다.
npm uninstall express
패키지 업데이트
· 설치된 패키지를 최신 버전으로 업데이트할 수 있다.
npm update express
패키지 목록 확인
· 프로젝트에 설치된 패키지 목록을 확인할 수 있다.
npm list --depth=0
프로젝트 초기화
· 새로운 Node.js 프로젝트를 초기화할 때 package.json 파일을 생성한다.
npm init
· npm init -y 명령어를 사용하면 기본 설정으로 package.json 파일이 생성된다.
3. NPM 레지스트리
NPM 레지스트리란?
· NPM 레지스트리는 패키지의 중앙 저장소로, 개발자들이 작성한 패키지를 공유하고 사용할 수 있게 한다.
· 패키지의 버전 관리와 의존성 관리를 효율적으로 할 수 있다.
레지스트리에서 패키지 검색
· 원하는 패키지를 NPM 레지스트리에서 검색할 수 있다.
npm search express
· 또는 NPM 공식 웹사이트(npmjs.com)에서 검색할 수 있다.
패키지 정보 확인
· 특정 패키지의 자세한 정보를 확인할 수 있다.
npm info express
NPM 스크립트
· package.json 파일에 정의된 스크립트를 사용하여 자주 사용하는 명령어를 간편하게 실행할 수 있다.
{
"scripts": {
"start": "node app.js",
"test": "mocha"
}
}
· 다음 명령어로 스크립트를 실행할 수 있다.
npm start
npm test
실습: NPM 사용하기
1. 새로운 Node.js 프로젝트 초기화
· NPM을 사용하여 새로운 Node.js 프로젝트를 초기화하고, express 패키지를 설치해보세요.
예제
mkdir my_project
cd my_project
npm init -y
npm install express
2. 패키지 정보 확인
· 설치된 express 패키지의 정보를 확인하고, 최신 버전으로 업데이트하세요.
예제
npm info express
npm update express
3. NPM 스크립트 작성 및 실행
· package.json 파일에 스크립트를 정의하고, 이를 실행하여 프로젝트를 시작하세요.
예제: package.json 수정
{
"name": "my_project",
"version": "1.0.0",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.17.1"
}
}
· 다음 명령어로 스크립트를 실행하세요.
npm start
- 이전 수업 목록
'프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js 강의 시리즈] 12강 - package.json 파일 (0) | 2024.07.09 |
---|---|
[Node.js 강의 시리즈] 11강 - NPM 패키지 설치 및 사용 (0) | 2024.07.08 |
[Node.js 강의 시리즈] 9강 - 이벤트 모듈 (events) (0) | 2024.07.04 |
[Node.js 강의 시리즈] 7강 - HTTP 모듈 (0) | 2024.07.02 |
[Node.js 강의 시리즈] 6강 - 파일 시스템 모듈 (fs) (0) | 2024.07.01 |