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
추가:bash1sudo 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 명령어들을 숙지하면 일상적인 개발 작업이 한결 수월해질 것입니다.