npm이란 무엇인가? 초보자를 위한 npm 설치부터 사용법까지 완벽 정리

  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

npm이란 무엇일까요?

웹 개발이나 Node.js 관련 자료를 찾아보다 보면 정말 자주 등장하는 단어가 바로 npm입니다. 처음 접하시는 분들은 “이게 도대체 뭐길래 다들 쓰는 거지?” 하고 궁금하셨을 텐데요. 오늘은 npm이 무엇이고, 어떻게 설치하며, 어떻게 사용하는지 하나하나 차근차근 알아보겠습니다.

npm은 Node Package Manager의 약자로, 직역하면 “노드 패키지 관리자”입니다. 쉽게 말해서 Node.js 환경에서 사용할 수 있는 다양한 프로그램(패키지)들을 손쉽게 설치하고, 관리하고, 공유할 수 있도록 도와주는 도구입니다.

비유하자면 스마트폰의 앱스토어구글 플레이스토어와 비슷한 개념이라고 보시면 됩니다. 우리가 스마트폰에서 필요한 앱을 검색해서 설치하듯이, npm을 통해 개발에 필요한 다양한 라이브러리와 프로그램들을 검색해서 설치할 수 있습니다.

 

왜 npm을 사용해야 할까요?

예를 들어 여러분이 웹사이트를 만들고 있는데, 날짜를 다루는 기능이 필요하다고 가정해 봅시다. 이 기능을 처음부터 직접 만들려면 시간이 정말 많이 걸리겠죠? 그런데 이미 전 세계의 똑똑한 개발자들이 만들어 놓은 좋은 라이브러리들이 npm에 등록되어 있습니다. 우리는 그저 명령어 한 줄로 그 라이브러리를 가져와서 사용하기만 하면 됩니다.

npm의 공식 저장소에는 200만 개가 넘는 패키지가 등록되어 있어서, 여러분이 상상할 수 있는 거의 모든 기능에 대한 패키지를 찾을 수 있습니다.

 

npm 설치하는 방법

npm은 단독으로 설치하지 않습니다. Node.js를 설치하면 npm이 함께 설치되기 때문입니다. 따라서 npm을 사용하려면 먼저 Node.js부터 설치해야 합니다.

 

1단계: Node.js 다운로드

먼저 nodejs.org 공식 사이트에 접속합니다. 사이트에 들어가시면 두 가지 버전이 보일 거예요.

  • LTS 버전: 장기 지원 버전으로, 안정성이 검증된 버전입니다. 일반 사용자나 초보자에게 추천드립니다.
  • Current 버전: 최신 기능이 포함된 버전이지만, 안정성이 LTS보다 떨어질 수 있습니다.

특별한 이유가 없다면 무조건 LTS 버전을 선택하세요. 본인의 운영체제(Windows, macOS, Linux)에 맞는 설치 파일을 다운로드합니다.

node.js 설치프로그램 다운로드

 

 

2단계: 설치 진행

다운로드한 설치 파일을 실행하면 설치 마법사가 시작됩니다. 대부분의 옵션은 기본값 그대로 두고 “Next”만 눌러도 무방합니다. 설치 과정 중에 “npm package manager” 항목이 체크되어 있는지 확인만 해주시면 됩니다.

node.js npm package manager 포함 설치

 

 

3단계: 설치 확인

설치가 완료되면 정말로 잘 설치되었는지 확인해 봐야겠죠? Windows에서는 명령 프롬프트(cmd)PowerShell을 열고, macOS나 Linux에서는 터미널을 엽니다. 그리고 다음 명령어를 입력해 보세요.

node -v 를 입력하면 설치된 Node.js의 버전이 표시됩니다. 예를 들어 v20.11.0 같은 형태로 나옵니다.

npm -v 를 입력하면 설치된 npm의 버전이 표시됩니다. 10.2.4 같은 숫자가 나오면 정상적으로 설치된 것입니다.

node.js 설치확인 명령어

node.js 설치확인 명령어

두 명령어 모두 버전 정보가 잘 나온다면 npm을 사용할 준비가 끝났습니다!

 

package.json 파일 이해하기

npm을 사용할 때 가장 먼저 만나게 되는 것이 바로 package.json 파일입니다. 이 파일은 우리 프로젝트의 “신분증” 같은 역할을 합니다.

 

package.json이란?

package.json은 프로젝트에 대한 정보와, 이 프로젝트가 어떤 패키지들에 의존하고 있는지를 기록하는 파일입니다. 여기에는 다음과 같은 정보들이 들어갑니다.

  • name: 프로젝트 이름
  • version: 프로젝트 버전
  • description: 프로젝트 설명
  • scripts: 자주 사용할 명령어들을 등록해 두는 곳
  • dependencies: 프로젝트가 실행되는 데 필요한 패키지 목록
  • devDependencies: 개발할 때만 필요한 패키지 목록

 

package.json 만들기

새 프로젝트 폴더를 만들고 그 폴더로 이동한 후, 터미널에서 npm init 명령어를 입력하면 package.json 파일을 만들 수 있습니다. 이 명령어를 입력하면 프로젝트 이름, 버전, 설명 등을 묻는 질문들이 차례로 나옵니다.

질문에 일일이 답하기 귀찮으시다면 npm init -y 명령어를 사용하세요. 모든 질문을 기본값으로 자동 설정해서 package.json 파일을 바로 만들어 줍니다. 초보자에게는 이 방법이 훨씬 편합니다.

 

npm으로 패키지 설치하고 사용하기

이제 본격적으로 npm을 사용해서 패키지를 설치해 보겠습니다.

 

패키지 설치하기

패키지를 설치할 때는 npm install 패키지이름 명령어를 사용합니다. 줄여서 npm i 패키지이름 으로도 사용할 수 있어요.

예를 들어 날짜를 쉽게 다룰 수 있게 해주는 dayjs라는 패키지를 설치하고 싶다면 npm install dayjs 라고 입력하면 됩니다. 그러면 npm이 알아서 인터넷에서 dayjs 패키지를 다운로드해서 프로젝트에 설치해 줍니다.

설치가 완료되면 프로젝트 폴더에 두 가지 변화가 생깁니다. 첫째, node_modules라는 폴더가 만들어지고 그 안에 설치한 패키지들이 들어갑니다. 둘째, package.json의 dependencies 항목에 방금 설치한 패키지가 추가됩니다.

 

전역 설치와 지역 설치

패키지 설치에는 두 가지 방식이 있습니다.

  • 지역 설치(Local): 현재 프로젝트 폴더 안에만 설치되며, 해당 프로젝트에서만 사용할 수 있습니다. 기본 설치 방식입니다.
  • 전역 설치(Global): 컴퓨터 전체에 설치되어 어느 폴더에서나 사용할 수 있습니다. npm install -g 패키지이름 으로 설치합니다.

일반적으로는 지역 설치를 사용하시고, 어디서나 명령어처럼 사용해야 하는 도구(예: nodemon, typescript)는 전역 설치를 사용합니다.

 

개발용 패키지 설치

개발할 때만 필요하고 실제 서비스에서는 필요 없는 패키지들이 있습니다. 예를 들어 코드 검사 도구나 테스트 도구 같은 것들이죠. 이런 패키지들은 npm install –save-dev 패키지이름 또는 줄여서 npm install -D 패키지이름 으로 설치합니다. 그러면 dependencies가 아닌 devDependencies에 등록됩니다.

 

꼭 알아야 할 npm 명령어 모음

npm을 사용하면서 자주 쓰게 될 핵심 명령어들을 정리해 드립니다.

 

설치 관련 명령어

  • npm install: package.json에 적힌 모든 패키지를 한 번에 설치합니다. 다른 사람의 프로젝트를 다운로드받았을 때 가장 먼저 실행하는 명령어입니다.
  • npm install 패키지이름: 특정 패키지를 설치합니다.
  • npm install 패키지이름@버전: 특정 버전의 패키지를 설치합니다. 예: npm install react@18.0.0

 

제거와 업데이트

  • npm uninstall 패키지이름: 설치된 패키지를 제거합니다.
  • npm update: 설치된 패키지들을 최신 버전으로 업데이트합니다.
  • npm outdated: 업데이트 가능한 패키지가 있는지 확인합니다.

 

정보 확인 명령어

  • npm list: 현재 프로젝트에 설치된 패키지 목록을 보여줍니다.
  • npm list -g: 전역으로 설치된 패키지 목록을 보여줍니다.
  • npm search 검색어: 패키지를 검색합니다.

 

스크립트 실행

package.json의 scripts 항목에 등록된 명령어는 npm run 스크립트이름 으로 실행합니다. 단, start, test 같은 일부 표준 스크립트는 npm start, npm test 처럼 run을 생략할 수 있습니다.

 

node_modules와 package-lock.json

npm으로 패키지를 설치하다 보면 node_modules 폴더가 엄청나게 커지는 것을 보실 수 있습니다. 패키지 하나를 설치했을 뿐인데 그 패키지가 의존하는 다른 패키지들까지 모두 설치되기 때문이에요. 이 폴더는 용량이 크기 때문에 보통 Git 같은 버전 관리 시스템에 올리지 않고 .gitignore 파일에 추가해서 제외시킵니다.

또한 package-lock.json이라는 파일도 자동으로 생성되는데, 이 파일은 설치된 패키지들의 정확한 버전을 기록해 둡니다. 다른 사람이 같은 프로젝트를 받아서 npm install 했을 때 똑같은 버전의 패키지가 설치되도록 보장해 주는 중요한 파일이니 절대 삭제하지 마세요.

 

마치며

지금까지 npm이 무엇이고 어떻게 사용하는지 하나하나 살펴봤습니다. 처음에는 명령어도 많고 개념도 낯설어서 어렵게 느껴지실 수 있지만, 몇 번만 직접 사용해 보시면 금방 익숙해지실 거예요.

npm은 단순한 도구를 넘어서 전 세계 개발자들이 만든 결과물을 누구나 자유롭게 가져다 쓸 수 있게 해주는 거대한 생태계입니다. Node.js나 Next.js, React 같은 현대적인 웹 개발을 시작하려면 반드시 알아야 하는 필수 도구이니, 오늘 배운 내용을 토대로 직접 작은 프로젝트를 만들어 보시면서 익혀보시길 추천드립니다.

처음에는 npm init으로 프로젝트를 만들고, npm install로 패키지를 설치해 보는 것부터 시작해 보세요. 한 걸음씩 차근차근 나아가다 보면 어느새 npm을 자유자재로 다루고 계실 겁니다!

 

댓글 남기기

error: 저작권 콘텐츠보호를 부탁드립니다.