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

SB신범
2분 읽기
조회수 로딩 중...

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

Node.js 개발 환경에서 패키지 관리는 필수적인 부분입니다. 특히 NPM(Node Package Manager)을 통한 패키지 설치는 개발 워크플로우의 핵심입니다. 이 글에서는 NPM의 글로벌 패키지 설치 방법과 로컬 설치와의 차이점, 그리고 개발 시 알아두면 유용한 NPM 관련 팁들을 정리해 보겠습니다.

NPM 글로벌 패키지 설치 방법

글로벌 패키지는 특정 프로젝트에 종속되지 않고 시스템 전체에서 사용할 수 있는 패키지입니다. 주로 명령줄 도구(CLI)를 설치할 때 사용됩니다.

bash
1npm install -g 패키지이름 2# 또는 3npm install --global 패키지이름

예를 들어, Create React App을 전역으로 설치하려면:

bash
1npm install -g create-react-app

관리자 권한이 필요한 경우:

  • Windows에서는 관리자 권한으로 명령 프롬프트나 PowerShell을 실행
  • macOS/Linux에서는 명령 앞에 sudo 추가:
    bash
    1sudo npm install -g 패키지이름

-g-D의 차이점

NPM 패키지를 설치할 때 자주 사용되는 두 플래그, -g-D의 차이점을 알아보겠습니다.

-g (--global)

  • 패키지를 시스템 전역에 설치
  • 어느 프로젝트에서나 접근 가능
  • CLI 도구나 전역적으로 사용할 유틸리티에 적합
  • package.json에 의존성으로 기록되지 않음

-D (--save-dev)

  • 개발 의존성(devDependencies)으로 설치
  • 해당 프로젝트의 개발 과정에서만 필요한 패키지
  • 프로덕션 환경에서는 설치되지 않음 (npm install --production 사용 시)
  • 테스트 프레임워크, 빌드 도구, 린터 등에 사용

알아두면 유용한 NPM 명령어와 팁

패키지 설치 관련

bash
1# 기본 설치 (dependencies에 추가) 2npm install 패키지명 3 4# 특정 버전 설치 5npm install 패키지명@1.2.3 6 7# 최신 버전 설치 8npm install 패키지명@latest 9 10# 정확한 버전으로 설치 (^없이) 11npm install -E 패키지명 12npm install --save-exact 패키지명 13 14# package.json에 기록하지 않고 설치 15npm install --no-save 패키지명

패키지 관리

bash
1# 전역 패키지 목록 확인 2npm list -g --depth=0 3 4# 전역 설치 위치 확인 5npm root -g 6 7# 모든 패키지 업데이트 8npm update 9 10# 업데이트 가능한 패키지 확인 11npm outdated 12 13# 패키지 삭제 14npm uninstall 패키지명 15npm uninstall -g 패키지명 # 전역 패키지 삭제

환경 설정 및 기타 명령

bash
1# 기본값으로 package.json 생성 2npm init -y 3 4# package.json의 scripts 실행 5npm run 스크립트이름 6 7# package-lock.json에 맞춰 정확한 설치 (CI 환경용) 8npm ci 9 10# 보안 취약점 검사 11npm audit 12npm audit fix # 자동 수정 시도 13 14# npm 캐시 정리 15npm cache clean --force 16 17# 기본 작성자 이름 설정 18npm config set init-author-name "이름" 19 20# 현재 설정 확인 21npm config list

npx 활용

npx는 Node.js와 함께 설치되는 도구로, 패키지를 로컬에 설치하지 않고도 실행할 수 있게 해줍니다.

bash
1# 설치하지 않고 패키지 실행 2npx 패키지명 3 4# 일회성 패키지 실행 (설치 없이) 5npx create-react-app 앱이름

언제 글로벌 설치를 사용해야 할까?

글로벌 설치는 편리하지만, 항상 최선의 선택은 아닙니다. 다음과 같은 상황을 고려해보세요:

글로벌 설치가 적합한 경우

  • 여러 프로젝트에서 공통으로 사용하는 CLI 도구
  • 시스템 수준의 유틸리티 (예: nodemon, http-server)
  • 프로젝트와 직접적인 관련이 없는 개발 도구

로컬 설치가 적합한 경우

  • 프로젝트에 종속된 라이브러리
  • 버전 충돌이 발생할 수 있는 패키지
  • 팀 프로젝트에서 일관성 있는 환경 구축이 필요한 경우

가능하면 npx를 사용하거나 로컬 설치 후 npm 스크립트에 등록하는 방식을 권장합니다. 이는 버전 관리와 프로젝트의 이식성 측면에서 더 안정적입니다.

마치며

NPM은 단순한 패키지 관리자를 넘어 Node.js 생태계의 중추적인 역할을 담당합니다. 글로벌 패키지와 로컬 패키지의 차이를 이해하고 상황에 맞게 활용한다면, 더 효율적인 개발 환경을 구축할 수 있을 것입니다. 특히 -g-D 플래그의 차이점과 다양한 npm 명령어들을 숙지하면 일상적인 개발 작업이 한결 수월해질 것입니다.