Node.js 패키지 관리자 NPM 사용법과 package.json 파일 역할

Node.js 패키지 관리자 NPM 사용법과 package.json 파일 역할

Node.js 개발에 있어 필수적인 도구 중 하나는 바로 NPM(Node Package Manager)입니다. NPM을 통해 수많은 오픈 소스 Node.js 패키지들을 쉽게 설치하고 관리할 수 있으며, 이는 개발 효율성을 크게 향상시킵니다. 이 글에서는 NPM의 기본 사용법과 package.json 파일의 중요성에 대해 알아보고, 실제로 PM2라는 유용한 패키지를 설치해보겠습니다.

NPM 기본 사용법

NPM은 Node.js를 설치하면 자동으로 포함되는 패키지 관리자로, 커맨드 라인을 통해 패키지들을 설치하고 관리할 수 있습니다. 가장 기본적인 명령어는 다음과 같습니다.

1. NPM 버전 확인 및 Node.js 프로젝트 시작

// NPM 버전 확인
npm -v

// 새로운 Node.js 프로젝트 시작
npm init

// 모든 질문에 기본값으로 자동 응답하고 package.json 파일을 생성
npm init -y

-y 옵션을 npm init 명령어와 함께 사용하면, npm은 사용자의 입력을 기다리지 않고 모든 설정을 기본값으로 자동으로 채워 package.json 파일을 생성합니다. 이 옵션은 빠르게 프로젝트를 초기화할 때 매우 유용하며, 나중에 필요에 따라 package.json 파일을 직접 수정할 수 있습니다.

NPM 버전 확인 및 Node.js 프로젝트 시작 실행 화면

2. 패키지 설치 방법

// 패키지 설치
npm install <package_name>

// 패키지 글로벌 설치
npm install -g <package_name>

// 개발 의존성으로 패키지 설치
npm install <package_name> --save-dev
  1. 패키지 설치 (npm install <package_name>): 이 명령어는 지정한 패키지를 현재 프로젝트의 node_modules 디렉토리에 설치하고, package.json 파일의 dependencies 섹션에 패키지 정보를 추가합니다. 이렇게 설치된 패키지는 프로젝트가 실행될 때 필요한 의존성으로 간주됩니다.
  2. 패키지 글로벌 설치 (npm install -g <package_name>): -g 옵션을 사용하여 패키지를 전역으로 설치합니다. 전역 설치된 패키지는 현재 프로젝트뿐만 아니라 시스템의 모든 프로젝트에서 사용할 수 있습니다. 주로 개발 도구나 CLI(Command Line Interface) 도구를 전역으로 설치할 때 사용됩니다.
  3. 개발 의존성으로 패키지 설치 (npm install <package_name> --save-dev): --save-dev 옵션을 사용하여 패키지를 개발 의존성으로 설치합니다. 개발 의존성으로 설치된 패키지는 개발 과정에서만 필요하며, 프로덕션 환경에서는 사용되지 않습니다. 예를 들어, 테스팅 프레임워크나 빌드 도구 등이 이에 해당합니다. 이 명령어는 package.json 파일의 devDependencies 섹션에 패키지 정보를 추가합니다.

이 명령어들을 사용함으로써, 개발자는 프로젝트의 의존성을 효과적으로 관리하고, 필요한 도구와 라이브러리를 쉽게 추가할 수 있습니다. package.json 파일은 프로젝트의 구성 정보를 담고 있어, 다른 개발자와의 협업이나 프로젝트의 이전이 용이해집니다.

▼ PM2 패키지를 글로벌로 설치 예제: npm install pm2 -g

PM2 패키지를 글로벌로 설치 예제 화면

package.json의 역할

package.json 파일은 Node.js 프로젝트의 심장과도 같은 역할을 합니다. 이 파일 안에는 프로젝트의 메타데이터와 함께 사용된 패키지들의 리스트가 저장되어 있으며, 프로젝트의 의존성 관리를 돕습니다. package.json 파일은 ‘npm init’ 명령어를 통해 자동으로 생성됩니다.

Node.js 프로젝트를 효과적으로 관리하려면 NPM과 package.json의 역할을 이해하는 것이 중요합니다. NPM과 package.json을 잘 활용하면, Node.js 생태계에서 제공하는 다양한 리소스와 도구들을 효과적으로 이용하여 강력하고 유연한 애플리케이션을 구축할 수 있습니다.

NPM과 package.json에 대한 더 자세한 정보는 NPM 공식 문서에서 확인할 수 있습니다.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤