npm
≡ 목차 (Table of Contents)
npm
npm은 Javascript Package Manager라는 소개를 달고 있지만 실상은 Node.js Package Manager의 약자가 아닐까 추정되는 이름이다. 그 이름대로 의존 패키지를 설치하고 관리하기 위한 CLI 도구다.
기본 사용법
로컬 패키지 설치
npm은 기본적으로 로컬 디렉터리에 패키지를 설치할 때 사용한다.
npm install <package-name>
이 경우 위 명령을 실행한 디렉터리에 node_modules/
라는 디렉터리가 생기고 여기에 패키지가 설치된다.
함께 생성되는 package-lock.json
파일은 당시 커맨드로 설치한 패키지의 버전 정보가 기록된다.
참고로 install
커맨드는 i
로 줄여서 쓸 수도 있다.
npm i <package-name>
개발 전용 패키지
해당 패키지가 프로덕션으로는 필요가 없다면 개발 용도로만 설치할 수도 있다.
npm install --save-dev <package-name> # or npm install -D <package-name>
전역 유틸리티 패키지 설치
만약 프로젝트 의존성이 아닌 시스템 도구라서 전역(global)으로 설치하고 싶다면 -g
옵션을 추가할 수 있다.
npm i -g <package-name>
프로젝트 패키지 관리
의존성 목록 만들기
프로젝트 단위의 의존성을 관리하고 싶다면 아래 명령으로 패키지 목록을 초기화할 수 있다.
npm init
몇 가지 물음에 답하면 package.json
파일이 생성되고 여기에서 의존성 정보를 관리할 수 있다.
의존성 설치 및 목록에 추가
패키지 설치와 의존성 목록 추가를 자동으로 하고 싶다면 --save
옵션을 추가해서 설치해보자.
npm install --save <package-name>
이렇게 하면 설치가 되면서 동시에 package.json
에 해당 의존성도 함께 추가된다.
의존 패키지 전부 설치하기
목록에 존재하는 패키지를 한번에 설치하려면 그냥 설치 커맨드를 실행시키면 된다.
npm install
이렇게 하면 package.json
에 적혀 있는 의존 패키지가 몽땅 설치된다.
스크립트 관리
npm을 통해 스크립트를 실행하는 것도 가능하다. 위에서 생성한 package.json
파일에 scripts
라는 항목에 원하는 커맨드를 추가할 수 있다.
scripts: { "mytest": "echo TEST" }
이렇게 작성해두면 아래와 같이 스크립트를 실행시킬 수 있다.
$ npm run mytest
> project-name@1.0.0 mytest /foo/bar/project-name
> echo TEST
TEST
따라서 자주 사용하는 커맨드를 작성해 놓기에 유용하다.