npm (Node Package Manager)

이종진 - Jake Lee·2021년 1월 9일
0
post-thumbnail


1. npm 이란?


npmNode 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 공식 홈페이지




2. npm 설치


npm은 별도의 설치과정 없이 Node.js를 설치하면 자동으로 설치가 된다.

Homebrew를 통한 설치

$ brew install node

Node.js 공식 홈페이지를 통한 설치


Node.js 공식 홈페이지

NVM을 통한 설치

NVM ( Node Version Manager ) 을 통해 다양한 Node.js의 버전을 설치하며 버전 관리할 수 있다. 자세한 설치 방법은 How to Install and Manage Node.js via NVM 을 확인 하자.




3. npm 명령어


설치 관련

  • 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.jsonscripts 객체 내 start 프로퍼티 스크립트를 실행한다. 만약 start 프로퍼티를 따로 설정하지 않았다면 node server.js가 실행된다.

  • npm stop : 실행된 항목을 멈춘다.

  • npm restart : npm stop 후 다시 npm start 한다.

  • npm test : package.jsonscripts 객체 내 test 프로퍼티 스크립트를 실행한다.

  • npm run : package.jsonscripts 객체 내 설정한 프로퍼티 스크립트를 실행한다. (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의 설정값을 조작한다.




4. 참고

0개의 댓글