NPM 마스터하기: 전문 개발자를 위한 핵심 명령어
Source: Dev.to
Node Package Manager(NPM)는 현대 JavaScript 개발의 핵심입니다. 단순히 npm install을 실행하는 것을 넘어, 전문 개발자들은 NPM을 사용해 라이프사이클 이벤트를 관리하고, 보안 취약점을 감사하며, 환경 간 프로젝트 재현성을 유지합니다.
초기화
프로젝트를 설명하는 package.json 파일을 생성합니다:
npm init # interactive prompts
npm init -y # accept defaults automatically
환경 설정
프록시나 레지스트리와 같은 NPM 설정을 관리합니다:
npm config set proxy http://proxy.company.com:8080
npm config set registry https://registry.npmjs.org/
프로덕션 vs. 개발
런타임 의존성을 개발 전용 도구와 분리합니다:
npm install # runtime dependency
npm install --save-dev # development dependency
버전 고정
자동 버전 상승을 허용하는 캐럿(^)이나 물결표(~) 접두사를 방지합니다:
npm config set save-exact true
정리
package.json에 더 이상 나열되지 않은 패키지를 제거합니다:
npm prune
보안
보안 보고서
의존성 트리를 레지스트리에 제출하고 취약점 보고서를 받습니다:
npm audit
자동 수정
보안 취약한 의존성에 비파괴 업데이트를 적용합니다:
npm audit fix
중요한 수정
파괴적 변경을 초래할 수 있더라도 강제로 업데이트합니다(철저히 재테스트하세요):
npm audit fix --force
오래된 패키지
최신 버전보다 뒤처진 설치된 패키지를 나열합니다:
npm outdated
캐시 관리
설치 실패를 일으킬 수 있는 손상된 로컬 캐시를 정리합니다:
npm cache clean --force
버전 올리기
시맨틱 버전 규칙에 따라 프로젝트 버전을 업데이트합니다:
npm version patch # e.g., 1.0.0 → 1.0.1
npm version minor # e.g., 1.0.0 → 1.1.0
npm version major # e.g., 1.0.0 → 2.0.0
이 명령어들—보안 감사, 정리, 그리고 정확한 설치 플래그—을 숙달하면 기술 부채를 줄이고 보다 견고한 애플리케이션을 구축할 수 있습니다. 터미널은 당신의 강력한 도구이며, 이 NPM 명령어가 바로 그 도구를 활용하는 방법입니다.