Responsive Advertisement

Node.js NPM: 패키지 매니저와 활용 방법

Node.js는 서버 사이드 자바스크립트를 실행할 수 있는 강력한 환경이며, 그 핵심 도구 중 하나가 바로 NPM(Node Package Manager)입니다. NPM은 Node.js 프로젝트에서 외부 패키지를 쉽게 설치하고 관리할 수 있게 도와주는 패키지 매니저입니다. 이 글에서는 NPM의 주요 기능과 활용 방법을 살펴보겠습니다.

NPM이란?

NPM(Node Package Manager)은 Node.js의 기본 패키지 매니저로, 다양한 오픈 소스 패키지를 설치, 업데이트, 관리할 수 있도록 도와줍니다. NPM을 사용하면 프로젝트에서 필요한 외부 라이브러리나 모듈을 손쉽게 설치하고, 버전 관리를 효율적으로 할 수 있습니다.

NPM은 패키지 레지스트리를 통해 수많은 패키지를 제공하며, 커뮤니티가 지속적으로 새로운 패키지를 추가하고 업데이트합니다. 개발자는 이 패키지를 자유롭게 사용할 수 있습니다.

프로젝트에 NPM 초기화하기

NPM을 사용하기 전에 먼저 프로젝트 디렉터리에서 NPM을 초기화하여 package.json 파일을 생성해야 합니다. package.json 파일은 프로젝트에 필요한 정보와 의존성을 관리하는 파일입니다.

NPM 초기화 명령

$ npm init

위 명령을 실행하면, 프로젝트에 대한 몇 가지 질문을 받고, 그에 따라 package.json 파일이 생성됩니다. 모든 질문에 대해 기본값을 사용하고 싶다면, npm init -y 명령을 사용하여 자동으로 초기화할 수 있습니다.

$ npm init -y

이 명령을 실행하면 package.json 파일이 기본값으로 생성되며, 이후 NPM 패키지를 설치할 때 이 파일에 기록됩니다.

NPM 패키지 설치

NPM을 사용하면 외부 패키지를 손쉽게 설치할 수 있습니다. 패키지를 설치하면 node_modules 폴더에 패키지 파일이 저장되고, package.json 파일의 dependencies 항목에 기록됩니다.

패키지 설치 명령

$ npm install <패키지이름>

예를 들어, lodash라는 패키지를 설치하려면 아래와 같이 명령을 실행합니다.

$ npm install lodash

설치가 완료되면 node_modules 폴더 안에 lodash 패키지가 설치되며, package.json 파일의 dependencies 항목에 추가됩니다.

{
  "dependencies": {
    "lodash": "^4.17.21"
  }
}

lodash와 같이 자주 사용되는 패키지는 프로젝트에서 여러 가지 유용한 기능을 제공합니다. 설치 후에는 require() 또는 import 문법을 사용해 패키지를 불러와 사용할 수 있습니다.

const _ = require('lodash');

let array = [1, 2, 3, 4];
let shuffledArray = _.shuffle(array);

console.log(shuffledArray);  // 배열을 무작위로 섞음

전역 설치

일반적으로 패키지는 프로젝트 내부에 설치되지만, CLI(Command Line Interface) 도구와 같이 시스템 전역에서 사용할 패키지는 -g 옵션을 사용하여 전역 설치할 수 있습니다.

$ npm install -g <패키지이름>

전역으로 설치된 패키지는 명령줄에서 전역적으로 사용 가능하며, 특정 프로젝트에만 국한되지 않습니다. 예를 들어, nodemon 같은 패키지를 전역 설치하면 모든 프로젝트에서 사용할 수 있습니다.

의존성 관리

패키지를 설치할 때 dependenciesdevDependencies로 구분하여 설치할 수 있습니다.

프로덕션 의존성 (dependencies)

기본적으로 NPM으로 패키지를 설치하면, package.json 파일의 dependencies 섹션에 기록됩니다. 이 의존성은 프로젝트가 프로덕션 환경에서도 필요한 패키지입니다.

$ npm install express

이 명령으로 설치된 패키지는 dependencies에 기록됩니다.

개발 의존성 (devDependencies)

개발 단계에서만 필요한 패키지는 --save-dev 또는 -D 옵션을 사용해 devDependencies에 기록합니다. 예를 들어, 테스트 라이브러리나 빌드 도구가 이에 해당합니다.

$ npm install eslint --save-dev

개발 의존성으로 설치된 패키지는 프로덕션 환경에서는 설치되지 않고, 개발 환경에서만 사용됩니다.

{
  "devDependencies": {
    "eslint": "^7.32.0"
  }
}

패키지 업데이트 및 삭제

패키지 업데이트

설치된 패키지를 최신 버전으로 업데이트하려면 npm update 명령을 사용합니다. 이는 package.json에 정의된 버전 범위 내에서 패키지를 최신 버전으로 업데이트합니다.

$ npm update <패키지이름>

모든 패키지를 한 번에 업데이트하려면 npm update만 입력하면 됩니다.

패키지 삭제

더 이상 필요 없는 패키지는 npm uninstall 명령을 사용하여 삭제할 수 있습니다.

$ npm uninstall <패키지이름>

삭제된 패키지는 node_modules 폴더에서 제거되며, package.json 파일에서도 해당 의존성이 삭제됩니다.

npm 스크립트

package.json 파일의 scripts 섹션을 사용하면 프로젝트에서 자주 사용하는 명령을 NPM 스크립트로 정의할 수 있습니다. 예를 들어, 테스트를 실행하거나 서버를 시작하는 명령을 쉽게 설정할 수 있습니다.

{
  "scripts": {
    "start": "node app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }
}

위 코드에서는 npm start 명령으로 app.js 파일을 실행할 수 있도록 설정했습니다.

npm 스크립트 실행

$ npm start

위 명령은 package.jsonscripts 섹션에서 정의한 start 스크립트를 실행합니다. 프로젝트의 명령어를 이렇게 간단하게 실행할 수 있습니다.

npm으로 프로젝트 의존성 설치

기존 프로젝트를 클론한 후, node_modules 폴더가 없는 경우 package.json에 기록된 모든 의존성을 설치하려면 npm install 명령을 사용합니다. 이 명령은 package.json에 기록된 모든 패키지를 node_modules에 설치합니다.

$ npm install

결론

NPM은 Node.js 개발에서 필수적인 도구로, 패키지를 쉽게 설치하고 관리할 수 있게 해줍니다. npm init으로 프로젝트를 초기화하고, 필요한 패키지를 설치하거나 업데이트하는 작업을 간편하게 할 수 있습니다. 또한 package.json을 통해 프로젝트의 의존성을 효율적으로 관리할 수 있습니다. NPM을 잘 활용하면 Node.js 개발이 훨씬 더 효율적이고 체계적으로 이루어질 수 있습니다.

댓글 쓰기