Node Package Manager(혹은 Node Package Module)의 줄임말로써 Python의 pip나 Ruby의 gem처럼 Node.js의 패키지를 관리할 수 있는 도구이다. 또한 npm을 사용하여 패키지를 공유하는 온라인 패키지 저장소의 이름이기도 하다. -namuwiki
npm은 오픈 소스 생태계를 구성중이고 다른 사람이 만들어 놓은 이미 있는 기능을 다시 구현할 필요가 없어 효율적이다.
추가로 Node.js에는 npm 이외에도 yarn, pnpm이라는 다른 package manager가 존재한다.
npm은 Node.js 설치 시 자동으로 설치된다.
(Node.js 설치)
Node.js 설치 후 터미널에 npm -v
로 설치 확인
npm 사이트에서 원하는 package를 검색하면 해당 Package를 설치할 수 있는 명령어가 나온다. (다운로드 수가 높은 package를 사용하도록 한다.)
터미널에서 현재 프로젝트 폴더로 이동 후 명령어로 설치 가능하다.
npm에서 다운받은 package들은 모두 package.json에 기록된다.
프로젝트에 대한 정보와 사용중인 패키지에 대한 정보를 담은 파일이다.
동일한 패키지라도 버전마다 기능이 다를 수 있어 package.joson에 명시함으로써 버전이 달라 발생할 수 있는 오류들을 사전에 막을 수 있다.
nodemodules 가 없는 경우 yarn install
명령어로 설치가 가능한데 이때 package.json이 있다면 해당파일에 명시된 모듈들을 자동으로 설치하게 된다.
package.json은 터미널에서 프로젝트로 이동 후 npm init
명령어로 생성 가능하다. (yarn을 사용 중 이라면 yarn init
)