I turn coffee into code ☕ → 💻 자세히보기

개발

패키지 관리 도구

xuwon 2026. 2. 17. 19:41

많은 개발자가 “라이브러리 설치하는 도구” 정도로만 알고 있지만, 패키지 관리 도구는 그보다 훨씬 중요한 역할을 한다.

패키지 관리 도구(Package Manager)는 프로젝트에 필요한 외부 라이브러리를 설치하고, 버전을 관리하고, 실행 환경을 구성해주는 도구이다.

쉽게 말하면:
👉 프로젝트가 정상적으로 실행되도록 “의존성”을 관리하는 시스템

패키지 관리 도구가 왜 필요한가?

소프트웨어 프로젝트는 수많은 라이브러리에 의존합니다.

예를 들어 React 프로젝트라면:

- React
- React DOM
- 상태 관리 라이브러리
- HTTP 클라이언트
- 빌드 도구

이 모든 것을 수동으로 다운로드하고 관리하는 것은 사실상 불가능하고, 패키지 관리 도구는 이를 자동화한다.

패키지 관리 도구의 역할

1. 의존성 설치

pnpm install

- 필요한 라이브러리 다운로드
- node_modules 구성
- 버전 맞춤

2. 버전 관리

- package-lock.json
- pnpm-lock.yaml
- yarn.lock

팀 전체가 동일한 환경에서 실행되도록 보장

3. 스크립트 실행

pnpm dev 
pnpm build 
pnpm test

package.json의 scripts 실행

4. 의존성 그래프 관리

라이브러리 간의 관계를 분석해서 충돌 방지!

 

npm vs pnpm vs yarn

npm

- Node 기본 제공
- 가장 널리 사용

단점
- 디스크 사용량 많음
- 설치 속도 상대적으로 느림

pnpm

- 디스크 효율적
- 설치 빠름
- 의존성 구조 엄격
- 모노레포에 적합

yarn

- 안정적인 성능
- 오래된 생태계

pnpm을 가장 많이 사용하는 것 같다.

 

모노레포에서 패키지 관리 도구의 역할

모노레포에서는 workspace 기능이 핵심.

패키지 매니저는 로컬 패키지를 자동으로 연결해준다.

import { Button } from "@repo/ui"

즉 이렇게 사용이 가능하단 것.

패키지 관리 도구를 사용하면 워크스페이스 기능을 이용할 수 있어 모노레포에서 유용하게 쓰인다.

 

'개발' 카테고리의 다른 글

빌드 도구  (0) 2026.02.24
React용 데이터 패칭 라이브러리 - SWR (Stale While Revalidate)  (4) 2025.08.06
SEO 정리: 검색엔진 최적화 (Next.js 기반)  (3) 2025.08.06
Git Branch 전략  (0) 2024.12.03