[Node.js] NPM 명령어

NPM 명령어

npm 이란 노드 패키지 매니저 (Node Package Manager)를 의미한다.

npm은 자바스크립트 런타임 환경인 Node.js 의 기본 패키지 관리자 역할을 한다. 

그래서 npm을 통해 패키지 (package) 또는 모듈 (module) 이라고 불리는 자바스크립트 라이브러리를 자신의 프로젝트에 설치할 수 있다.

또한 npm을 통해 자신의 프로젝트에서 사용 중인 패키지들의 버전 업데이트도 관리할 수 있다.


#설치
npm init : 패지키(외부모듈) 설치 환경과 package.json을 만드는 초기화 명령어이다. 새로운 프로젝트나 패키지를 만들 때 사용한다. npm init 명령어 실행 후 npm install 패키지명 으로 설치되는 패키지(모듈)들은 package.json 파일의 dependencies부분에 명시된다. 

다른 환경에서 동일한 라이브러리를 설치하고자 할때 해당 프로젝트로 다운받고 npm install 명령어를 작성하여 실행하면 package.json 파일의 dependencies 부분에 명시되어있던 패키지들이 모두 다운되어 동일한 개발환경을 구성할 수 있다.

설치된 라이브러리들은 node_module 폴더내에서 관리된다.


npm install 패키지명 :  해당 프로젝트에서 사용할 자바스크립트 라이브러리를 해당 프로젝트에 설치한다.

npm install 패키지명 -g : 시스템 레벨에서 사용할 라이브러리를 설치할 때 사용한다. -g 로 설치된 패키지는 다른 모든 프로젝트에서 해당 패키지를 사용할 수 있도록 설치된다.


npm install 패키지@버전 : 특정한 버전의 패키지를 설치할 수 있다.

패키지 설치시에 옵션을 줄 수 있는데 뒤에 --save 또는 -S를 하면 npm init 명령어로 생성되었던 package.json 파일의 dependencies에 추가된다. (npm5부터는 --save옵션이 기본적으로 설정되어 있기 때문에 안 붙여도 된다)

dependencies에 추가되면 추후 다른 개발환경에서 npm install 명령어만 입력하면 해당 dependencies에 적혀있는 모듈들이 모두 다운로드 된다.


npm install 패키지명 --save-dev 또는 npm install 패키지명 -D : local환경에서만 사용할 모듈 설치 (dependencies 가 아닌 devDependencies 에 설치된다.)

dependencies 는 애플리케이션의 (화면)로직에 도움을 주는 라이브러리 즉 배포용 라이브러리이며
devDependencies 는 개발을 할때 도움을 주는 개발용 라이브러리이다.

npm update :  설치한 패키지를 업데이트하는 명령어이다.


npm dedupe :  npm의 중복된 패키지들을 정리할 때 사용한다. 가끔 입력하면 용량도 줄이고 좋다.



#조회
npm root : node_modules의 위치를 알려준다.

npm outdated : 오래된 패키지가 있는지 알려준다. 오래되었고 package.json에 적어둔 버전 범위와 일치하면 빨간색으로, 오래되었지만 버전 범위와 일치하지 않으면 노란색으로 표시된다.

npm ls 또는 npm list : 패키지를 조회하는 명령어다. 현재 설치된 패키지의 버전과 dependencies를 트리 구조로 표현한다. npm ll을 하면 더 자세한 정보를 준다. npm ls 패키지명 을 입력하면 해당 패키지가 있는지와, 해당 패키지가 어떤 패키지의 dependencies인지 보여준다.

npm ls --depth=0 : 현재 설치된 로컬상의 패키지 모듈 리스트 보여주는 명령어이다

npm ls --depth=0 -g  또는 npm ls -g : 글로벌 스코프로 설치된 패키지 모듈 리스트를 보여주는 명령어이다.


npm search : npm 저장소에서 패키지를 검색하는 명령어이다. 패키지의 이름, 설명 또는 키워드를 바탕으로 검색 결과가 나온다. 그냥 npm 홈페이지에서 검색하는 게 정신 건강에 좋다.

npm owner : 패키지의 주인이 누군지 알려주는 명령어입니다. 또는 여러 명의 주인을 설정하거나 지울 수 있다.

npm bugs : 버그가 발생했을 때 어떻게 패키지의 주인에게 연락을 취할지 알려준다. 주로 Github의 issues 탭을 연다.


#출시
npm publish : 패키지를 직접 출시하거나 버전 업그레이드를 할 때 사용하는 명령어이다.

npm deprecate : 이미 낸 패키지를 사용하지 않도록 권고하는 명령어이다.

npm unpublish : publish한 패키지를 다시 unpublish하는 것이다. 하지만 deprecate를 쓰는 게 낫다. 이미 자신의 패키지를 다운로드한 사람들에게 피해를 입힐 수 있기 때문이다.

npm star : 자신이 좋아하는 패키지를 표시하는 기능이다. star가 많을 수록 인기 패키지 이다.

npm starts : 특정 사람이 star한 패키지 목록을 확인할 수 있다.

npm version : 버전 업데이트를 할 때 사용한다. 새로운 버전이 나왔다면 npm version [버전]하면 된다.



#실행
npm start : package.json의 scripts에 있는 start 명령어를 실행하는 부분이다.

npm stop : npm start했던 것을 멈추는 명령어이다.

npm restart : npm stop 후에 다시 npm start를 하는 명령어이다.

npm test : test 명령어를 실행한다.

npm run : 이외의 scripts를 실행하는 명령어이다. 예를 들어 scripts에 build 명령어가 있다하면, npm run build하면 된다.


#설정
npm cache : npm 내의 cache를 보여준다. 만약 npm에 문제가 생기거나 하면 제일 먼저 하는 게 npm cache clean으로 cache를 지우는 것이다.

npm rebuild : npm을 다시 설치하는 명령어이다. 에러가 발생했을 시 주로 npm cache clean을 한 후 이 명령어를 쳐서 재설치해 본다.

npm config : npm의 설정을 조작하는 명령어이다. npm config list 하면 현재 설정들을 확인할 수 있고, npm set [이름] [값], npm get [이름]으로 속성을 설정하거나 조회할 수 있다.


댓글