5.1 npm 알아보기
npm은 Node Package Manager의 약어로, 이름 그대로 노드 패키지 매니저를 의미합니다. 1.1.2절에서는 노드가 자바스크립트 프로그램을 컴퓨터에서도 실행할 수 있게 해준다고 이야기했습니다. 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있으므로 특정 기능을 하는 패키지가 필요하다면 npm에서 찾아 설치하면 됩니다.
npm에는 193만 개(2022년 4월 기준)에 달하는 패키지가 등록되어 있습니다. 이는 세계 최대 규모입니다. 방대한 양의 패키지들은 노드와 자바스크립트의 생태계를 더욱 견고하게 만들고 있습니다. 게다가 대부분 오픈 소스여서 노드를 사용해 웹을 개발할 때 많은 도움이 됩니다.
npm에 업로드된 노드 모듈을 패키지라고 부릅니다. 모듈이 다른 모듈을 사용할 수 있는 것처럼, 패키지가 다른 패키지를 사용할 수도 있습니다. 이런 관계를 의존 관계라고 합니다. 의존 관계는 다음 절에서 알아봅니다.
Note ≣ ⎮ yarn, pnpm
npm의 대체자로 yarn(https://yarnpkg.com)과 pnpm(https://pnpm.io)이 있습니다. yarn은 페이스북이 내놓은 패키지 매니저로, 리액트(React)나 리액트 네이티브(React Native) 같은 페이스북 진영의 프레임워크를 사용할 때 종종 볼 수 있습니다. pnpm은 npm의 성능을 개선한 패키지 매니저입니다.
▲ 그림 5-2 yarn, pnpm
npm의 사용 방법을 안다면 yarn이나 pnpm도 쉽게 익힐 수 있습니다. npm과 비교해서 편리성과 성능이 개선된 몇 가지 기능이 들어 있지만, 별도로 설치해야 합니다. npm 서버가 너무 느릴 경우 yarn이나 pnpm으로 전환하는 것을 고려해보세요.