NPM 글로벌 패키지 설치 및 활용 가이드
NPM 글로벌 패키지 설치 및 활용 가이드

Node.js 개발 환경에서 패키지 관리는 필수적인 부분입니다. 특히 NPM(Node Package Manager)을 통한 패키지 설치는 개발 워크플로우의 핵심입니다. 이 글에서는 NPM의 글로벌 패키지 설치 방법과 로컬 설치와의 차이점, 그리고 개발 시 알아두면 유용한 NPM 관련 팁들을 정리해 보겠습니다.
NPM 글로벌 패키지 설치 방법
글로벌 패키지는 특정 프로젝트에 종속되지 않고 시스템 전체에서 사용할 수 있는 패키지입니다. 주로 명령줄 도구(CLI)를 설치할 때 사용됩니다.
npm install -g 패키지이름
# 또는
npm install --global 패키지이름
예를 들어, Create React App을 전역으로 설치하려면:
npm install -g create-react-app
관리자 권한이 필요한 경우:
- Windows에서는 관리자 권한으로 명령 프롬프트나 PowerShell을 실행
macOS/Linux에서는 명령 앞에 sudo
추가:
sudo npm install -g 패키지이름
-g
와 -D
의 차이점
NPM 패키지를 설치할 때 자주 사용되는 두 플래그, -g
와 -D
의 차이점을 알아보겠습니다.
-g
(--global)
- 패키지를 시스템 전역에 설치
- 어느 프로젝트에서나 접근 가능
- CLI 도구나 전역적으로 사용할 유틸리티에 적합
package.json
에 의존성으로 기록되지 않음
-D
(--save-dev)
- 개발 의존성(devDependencies)으로 설치
- 해당 프로젝트의 개발 과정에서만 필요한 패키지
- 프로덕션 환경에서는 설치되지 않음 (
npm install --production
사용 시) - 테스트 프레임워크, 빌드 도구, 린터 등에 사용
알아두면 유용한 NPM 명령어와 팁
패키지 설치 관련
# 기본 설치 (dependencies에 추가)
npm install 패키지명
# 특정 버전 설치
npm install 패키지명@1.2.3
# 최신 버전 설치
npm install 패키지명@latest
# 정확한 버전으로 설치 (^없이)
npm install -E 패키지명
npm install --save-exact 패키지명
# package.json에 기록하지 않고 설치
npm install --no-save 패키지명
패키지 관리
# 전역 패키지 목록 확인
npm list -g --depth=0
# 전역 설치 위치 확인
npm root -g
# 모든 패키지 업데이트
npm update
# 업데이트 가능한 패키지 확인
npm outdated
# 패키지 삭제
npm uninstall 패키지명
npm uninstall -g 패키지명 # 전역 패키지 삭제
환경 설정 및 기타 명령
# 기본값으로 package.json 생성
npm init -y
# package.json의 scripts 실행
npm run 스크립트이름
# package-lock.json에 맞춰 정확한 설치 (CI 환경용)
npm ci
# 보안 취약점 검사
npm audit
npm audit fix # 자동 수정 시도
# npm 캐시 정리
npm cache clean --force
# 기본 작성자 이름 설정
npm config set init-author-name "이름"
# 현재 설정 확인
npm config list
npx 활용
npx는 Node.js와 함께 설치되는 도구로, 패키지를 로컬에 설치하지 않고도 실행할 수 있게 해줍니다.
# 설치하지 않고 패키지 실행
npx 패키지명
# 일회성 패키지 실행 (설치 없이)
npx create-react-app 앱이름
언제 글로벌 설치를 사용해야 할까?
글로벌 설치는 편리하지만, 항상 최선의 선택은 아닙니다. 다음과 같은 상황을 고려해보세요:
글로벌 설치가 적합한 경우
- 여러 프로젝트에서 공통으로 사용하는 CLI 도구
- 시스템 수준의 유틸리티 (예: nodemon, http-server)
- 프로젝트와 직접적인 관련이 없는 개발 도구
로컬 설치가 적합한 경우
- 프로젝트에 종속된 라이브러리
- 버전 충돌이 발생할 수 있는 패키지
- 팀 프로젝트에서 일관성 있는 환경 구축이 필요한 경우
가능하면 npx
를 사용하거나 로컬 설치 후 npm 스크립트에 등록하는 방식을 권장합니다. 이는 버전 관리와 프로젝트의 이식성 측면에서 더 안정적입니다.
마치며
NPM은 단순한 패키지 관리자를 넘어 Node.js 생태계의 중추적인 역할을 담당합니다. 글로벌 패키지와 로컬 패키지의 차이를 이해하고 상황에 맞게 활용한다면, 더 효율적인 개발 환경을 구축할 수 있을 것입니다. 특히 -g
와 -D
플래그의 차이점과 다양한 npm 명령어들을 숙지하면 일상적인 개발 작업이 한결 수월해질 것입니다.