npm
은 Node Package Manager
의 약자로 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. Node.js에서 사용하는 모듈들을 패키지로 만들어 관리하고 배포하고 할 수 있으며, 다운로드하고 업데이트, 삭제 혹은 모듈들이 사용하고있는 타 모듈과의 의존성 문제를 자동으로 해결해주는 등, 우리가 사용하는 Node.js의 패키지를 보다 편리하게 관리할 수 있도록 해준다.
웹 사이트
회원가입, 프로필 설정, 패키지 검색, 커뮤니티, Docs 등 공식 웹 사이트를 통해 다양한 정보 활용이 가능하다. ( 일반적으로 패키지 정보 검색 활동이 주를 이룬다. )
CLI ( Command Line Interface )
다양한 명령어를 통해 실제 패키지들을 프로젝트 내에 다운로드하고 업데이트, 삭제하며 관리할 수 있다. 자세한 내용은 하단의 3. npm 명령어 부분을 참고 하자.
레지스트리
웹 사이트에서 가입한 계정을 통해 자신이 만든 패키지를 공식적으로 등록하여 배포할 수 있는 저장소이다. *Verdaccio를 사용하면 Private하게 비공개 저장소를 사용할 수 있다.
< *Verdaccio 참고 >
1. Verdaccio Github
2. [번역] 나만의 npm 저장소 만들기, Verdaccio - devh.kr
2. private npm registry 구축 - 마이구미
npm은 별도의 설치과정 없이 Node.js를 설치하면 자동으로 설치가 된다.
$ brew install node
NVM ( Node Version Manager ) 을 통해 다양한 Node.js의 버전을 설치하며 버전 관리할 수 있다. 자세한 설치 방법은 How to Install and Manage Node.js via NVM 을 확인 하자.
npm init
: 새로운 프로젝트나 패키지를 만들 때 package.json 파일을 생성한다.
npm install <패키지명>
: 해당 패키지를 설치한다. npm install <패키지명>@<버전>
하면 특정 버전의 패키지를 설치할 수 있으며, npm install <URL>
하면 해당 URL 내의 패키지를 설치할 수 있다.
< 자주쓰는 옵션 >
-g
: 글로벌 패키지 설치
--save 또는 -S
: package.json 내 dependencies에 설치 항목 추가
--save-dev 또는 -D
: package.json 내 devDependencies에 설치 항목 추가
npm uninstall <패키지명>
: 해당 패키지를 삭제한다.
npm update <패키지명>
: 설치한 패키지를 업데이트 한다.
npm dedupe
: 설치한 패키지에서 중복된 항목을 정리한다.
npm version [<버전> | major | minor | patch 등]
: 패키지 버전 관리
npm outdated
: 패키지이름, 현재버전, 최신버전 등을 알려준다. 오래되었고 package.json에 적어둔 버전 범위와 일치하면 빨간색으로, 오래되었지만 버전 범위와 일치하지 않으면 노란색으로 표시된다.
npm ls
: 현재 설치된 패키지와 그의 버전을 dependencies에 따라 트리 구조로 표현한다.
npm ll
: npm ls
보다 더욱 상세한 패키지 정보를 알려준다.
npm search
: npm 저장소에서 패키지를 검색하는 명령어이다. 패키지 이름, 설명 또는 키워드를 바탕으로 검색 결과가 나온다.
npm owner [ls | add | rm]
: 패키지의 소유자를 관리한다.
npm bugs [<패키지명>]
: 버그가 발생했을 때 패키지 소유자에게 연락할 방법을 안내해준다.
npm start
: package.json의 scripts
객체 내 start
프로퍼티 스크립트를 실행한다. 만약 start
프로퍼티를 따로 설정하지 않았다면 node server.js
가 실행된다.
npm stop
: 실행된 항목을 멈춘다.
npm restart
: npm stop
후 다시 npm start
한다.
npm test
: package.json의 scripts
객체 내 test
프로퍼티 스크립트를 실행한다.
npm run
: package.json의 scripts
객체 내 설정한 프로퍼티 스크립트를 실행한다. (ex. npm run build
)
npm adduser
: 레지스트리에 사용자 계정을 추가한다.
npm logout
: 레지스트리에서 로그아웃 한다.
npm whoami
: 현재 로그인한 사용자 계정의 아이디를 알려준다.
npm publish
: 패키지를 레지스트리에 업로드하여 배포한다.
npm unpublish
: 배포된 패키지를 취소한다. (단, 이미 해당 패키지를 install 받은 사용자를 위해 npm deprecate
사용을 권장한다.)
npm deprecate
: 이미 배포된 패키지를 사용하지 않도록 권고한다.
npm cache
: 로컬 캐시를 관리한다.
npm rebuild
: npm을 다시 설치한다.
npm config
: npm의 설정값을 조작한다.