[include(틀:다른 뜻1, other1=New Public Management의 약자인 NPM, rd1=신공공관리론)] [[파일:node.js_npm_logo.png|width=400px]] [목차] == 개요 == [[https://www.npmjs.com/|홈페이지]] Node Package Manager(혹은 Node Package Module)의 줄임말로써 [[Python]]의 pip나 [[Ruby]]의 gem처럼 [[Node.js]]의 패키지를 관리할 수 있는 도구이다. 또한 npm을 사용하여 패키지를 공유하는 온라인 패키지 저장소의 이름이기도 하다. npm은 Node.js의 급격한 인기몰이에 힘입어 빠르게 성장하여 세계 최대의 패키지 저장소가 되었다. 2020년 9월 기준으로 140만 개의 패키지가 등록되었다.[* [[https://www.npmjs.com/|NPM by the numbers(로그인 후 조회 가능)]]] == 설치 == 일반적인 경우에는 Node.js를 설치하면 자동으로 설치된다. 리눅스 기준으로 다음 명령어를 실행하여 직접 npm을 설치할 수 있다. > curl -L https://npmjs.com/install.sh | sh == 주요 모듈 == * [[https://www.npmjs.com/package/express|Express.js]] - Node.js에서 가장 인기있는 [[웹 프레임워크]]이다. * ~~[[https://www.npmjs.com/package/request|Request]] - Node.js에서 [[HTTP]] Request를 편리하게 보낼 수 있도록 만들어진 모듈이다.~~[* 현재 deprecated 처리 되었다. 자세한 사항은 [[https://github.com/request/request/issues/3142]] 참고. ] * [[https://www.npmjs.com/package/mongoose|Mongoose]] - 비동기 환경에서 작동할 수 있도록 설계된 [[MongoDB]] 오브젝트 모델링 툴이다. * [[https://ejs.co/|EJS]] - HTML에 nodejs 런타임의 변수나 코드 등을 템플릿화 시켜 렌더링 시켜주는 모듈이다. == 인수 == 2020년 3월 16일 (2018년 [[마이크로소프트]]에 인수된) [[GitHub]]이 인수하기로 결정되었다고 한다.[* [[https://github.blog/2020-03-16-npm-is-joining-github/]]] [[분류:소프트웨어]]