npm은 남이 만든 코드 부품을 명령어 한 줄로 내려받아 쓰게 해주는 자바스크립트의 앱스토어입니다.
2026년 7월 기준, AI에게 코딩을 시키면 거의 매번 npm install이라는 줄이 따라옵니다.
이게 뭔지 모르면 AI가 준 코드를 복사해도 왜 실행이 안 되는지 알 길이 없습니다.
이 글을 읽으면 npm이 무엇이고, npm install이 실제로 무슨 일을 하는지 비유 하나로 감이 잡힙니다.

npm은 자바스크립트 코드 부품을 모아둔 거대한 앱스토어이자, 그 부품을 내 프로젝트로 내려받는 설치 도구입니다. npm install 이름은 앱스토어에서 앱을 골라 설치 버튼을 누르는 것과 같습니다.
npm은 "노드 패키지 매니저(Node Package Manager)"의 줄임말입니다.
쉽게 말하면 자바스크립트 코드 부품(라이브러리)을 모아둔 앱스토어입니다.
세상에는 이미 남이 잘 만들어 둔 코드 조각이 수십만 개 올라와 있습니다.
날짜를 예쁘게 표시하는 부품, 화면을 그리는 부품, 파일을 읽는 부품 같은 것들입니다.
이걸 하나하나 직접 만들 필요 없이, 앱스토어에서 앱 내려받듯 가져다 쓰는 창구가 npm입니다.
그리고 npm은 앞 편에서 다룬 Node.js를 설치하면 함께 딸려 옵니다.
Node를 깔았다면 npm은 이미 내 컴퓨터 안에 있다는 뜻입니다.
가장 자주 보는 명령이 바로 이것입니다.
npm install 패키지이름
이 한 줄이 하는 일은 두 가지입니다.
첫째, 앱스토어에서 그 부품을 내려받아 프로젝트 폴더 안 node_modules라는 창고에 넣습니다.
둘째, "이 프로젝트는 이 부품을 쓴다"고 package.json이라는 목록 파일에 기록해 둡니다.
장바구니에 담아 결제하면, 물건은 창고로 들어가고 영수증에는 뭘 샀는지 남는 것과 비슷합니다.
그래서 나중에 다른 사람이 같은 프로젝트를 받아도, 이 기록만 보고 똑같은 부품을 다시 설치할 수 있습니다.
자주 쓰는 명령 몇 개만 정리하면 이렇습니다.
| 명령 | 하는 일 |
|---|---|
| npm install | 목록에 적힌 부품을 한꺼번에 설치 |
| npm install 이름 | 특정 부품 하나를 새로 추가 |
| npm run 이름 | 목록에 미리 정해둔 작업 실행 |

node_modules 창고와 package.json 목록이 각각 무엇인지는 다음 편에서 따로 풀어 설명합니다.
코딩 자료를 보다 보면 npm 말고 yarn이나 pnpm도 자주 눈에 띕니다.
이들은 npm과 같은 일을 하는 경쟁 앱이라고 보면 됩니다.
부품을 더 빠르게 받거나 저장 공간을 아끼는 식으로 각자 강점을 내세웁니다.
실제로 2026년에는 새 프로젝트를 pnpm으로 시작하라는 이야기가 부쩍 늘었습니다.
다만 초보 단계에서는 이 셋의 차이를 몰라도 전혀 지장이 없습니다.
개인적으로는, AI가 주는 명령을 그대로 따라 하다가 궁금해질 때 비교해도 늦지 않다고 봅니다.
셋의 구체적인 차이는 다음 편에서 표로 정리합니다.
AI에게 "이런 프로그램 만들어줘"라고 하면, 대개 남이 만든 부품 여러 개를 조합해 답을 줍니다.
그 부품들이 내 컴퓨터에는 아직 없으니, 먼저 내려받으라고 npm install 줄을 함께 주는 것입니다.
즉 npm install은 "AI가 골라준 재료를 장바구니에 담아 설치하는 단계"인 셈입니다.
이 줄을 건너뛰면 부품이 없으니 코드가 실행되다 멈춥니다.
AI가 준 코드를 붙여넣었는데 자꾸 오류가 난다면, 이 설치 단계를 빠뜨린 경우가 꽤 많습니다.

아닙니다. npm은 Node.js를 설치하면 자동으로 함께 깔립니다.
그래서 AI 코딩을 시작할 때 보통 Node부터 설치하라고 안내합니다.
터미널에 npm -v를 쳐서 버전 숫자가 나오면 이미 준비된 상태입니다.
대부분의 부품은 무료로 공개되어 있어 설치에 비용이 들지 않습니다.
npm 앱스토어에 올라온 코드 부품은 오픈소스가 대다수입니다.
내려받아 쓰는 것 자체는 자유롭지만, 부품마다 이용 조건(라이선스)은 다를 수 있습니다.
npm은 자바스크립트 코드 부품을 모아둔 앱스토어이자 설치 도구입니다.
npm install은 남이 만든 부품을 내려받아 내 프로젝트에 담는 명령입니다.
AI가 준 코드에 이 줄이 붙는 이유는, 코드가 기대고 있는 부품을 먼저 챙기라는 뜻입니다.
이 개념 하나만 잡아두면 AI 코딩의 첫 벽 하나는 넘은 셈입니다.
npm 공식 문서(docs.npmjs.com)와 Node.js 공식 사이트(nodejs.org)의 안내를 기준으로 정리했으며, 패키지 매니저 최신 흐름은 공개된 2026년 비교 자료를 참고했습니다. 이 글은 현재까지 확인 가능한 공개 정보를 기준으로 하며, 도구 버전과 세부 사항은 발행 전 공식 문서 확인이 필요합니다.

| package.json이 뭐야 — 프로젝트의 신분증이자 재료 목록 (0) | 2026.07.21 |
|---|---|
| Node.js가 뭐야 — 브라우저 밖에서도 도는 자바스크립트 (0) | 2026.07.21 |
| JSON이란 — 이름표 붙은 정리함으로 이해하기 (0) | 2026.07.20 |
| localhost와 포트 번호란 — :3000, :8080이 대체 뭐야 (0) | 2026.07.20 |
| 쿠키·캐시·세션 차이 쉽게 정리 — 헷갈리는 셋을 한 번에 (0) | 2026.07.20 |
댓글 영역