개발 기본

npm

npm은 JavaScript 패키지를 설치·관리하고 프로젝트에 등록된 명령을 실행하는 도구입니다.

쉬운 설명

웹 앱을 만들다 보면 날짜 처리나 화면 구성처럼 다른 개발자가 만든 코드를 가져다 쓰게 돼요. npm은 이런 패키지를 설치하고 필요한 버전을 관리할 때 사용해요. npm run dev처럼 프로젝트에 정해 둔 작업을 실행하는 데도 쓰여요. 패키지를 받는 저장소와 웹사이트를 포함한 생태계를 가리킬 때도 npm이라는 이름을 써요.

이런 상황에서 만나요

AI가 만든 프로젝트의 안내에 “npm install 후 npm run dev를 실행하세요”라고 적혀 있다고 해 볼게요. 두 명령은 각각 필요한 패키지를 설치하는 일과 개발 작업을 실행하는 일이에요.

설치 단계와 실행 단계를 구분해요

설명용 화면
1프로젝트 폴더
study-app/
  package.json
  package-lock.json
2필요한 패키지 설치
npm install
3등록된 개발 작업 실행
npm run dev
  1. 1프로젝트가 npm을 사용한다는 가정의 파일 목록이에요.
  2. 2먼저 필요한 패키지를 준비해요. 설치가 실패하면 이 단계의 오류를 확인해요.
  3. 3dev가 등록된 프로젝트에서 실행해요. 결과로 표시된 주소를 확인해요.
설치와 실행 순서를 보여 주는 가상 프로젝트 예시입니다. 실제 프로젝트의 README와 잠금 파일을 따르세요.

먼저 package.json이 있는 프로젝트 폴더인지 확인하세요. 설치가 끝난 뒤 안내된 실행 명령을 사용해요. 프로젝트에 다른 패키지 관리자의 잠금 파일이 있다면 README를 확인하고 그 방식을 따르는 것이 좋아요.

헷갈리기 쉬운 점

npm install을 실행하면 웹사이트가 켜지나요?

보통은 프로젝트가 필요한 패키지를 설치하는 단계예요. 개발 서버를 켜는 작업은 별도의 스크립트를 실행해요. 설치 과정에서 스크립트가 실행될 수도 있지만 그것을 앱 실행 완료와 같은 뜻으로 보면 안 돼요.

설치할 패키지의 정확한 이름과 출처를 확인하세요. 패키지는 실행 코드를 포함할 수 있어요. 오류를 해결하려고 잠금 파일을 무조건 삭제하거나 버전을 전부 올리기 전에 원인을 확인해요.

왜 알아야 할까요?

설치 오류와 앱 실행 오류를 구분할 수 있어요. AI에게 어떤 명령에서 실패했는지와 로그를 알려 주면 엉뚱한 코드를 수정하는 일을 줄일 수 있어요.

조금 더 자세히

npm CLI는 레지스트리에서 패키지를 가져오고 의존 관계를 처리합니다. package.json과 잠금 파일은 프로젝트가 어떤 패키지를 사용하는지 관리하는 데 쓰입니다.

npm run 뒤의 이름은 scripts에서 찾습니다. install, run 같은 명령의 역할과 scripts에 적힌 작업 이름을 구분하면 실행 과정을 읽기 쉬워집니다.

직접 사용할 때 확인해 보세요

  • package.json이 있는 폴더에서 실행한다
  • 설치와 실행 단계를 구분한다
  • 실패한 명령과 오류 로그를 함께 확인한다

관계 지도

npm 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
npm의 정의와 관련 개념 간 관계를 설명한 계층형 그래프