npm(Node Package Manager) 사용 시 자주 쓰는 명령어

Node.js는 자바스크립트를 서버에서도 실행할 수 있도록 도와주는 런타임 환경입니다. npm은 Node.js의 패키지 관리자 도구로, 필요한 라이브러리나 프레임워크를 쉽게 설치하고 관리할 수 있도록 도와줍니다. 이 둘은 웹 개발에 필수적인 도구이며, 다양한 명령어를 통해 프로젝트를 체계적으로 구성할 수 있습니다.


📁 프로젝트 초기화 및 설정

명령어 설명
npm init package.json 파일을 생성합니다. 프로젝트 이름, 버전, 설명 등을 입력받아 기본 설정을 완료합니다.
npm init -y 질문 없이 기본값으로 package.json을 자동 생성합니다. 빠른 셋업 시 유용합니다.

package.json은 프로젝트 정보를 담고 있으며, 설치된 패키지 목록, 실행 스크립트, 의존성 정보 등이 저장됩니다. 대부분의 Node.js 프로젝트는 이 파일을 기반으로 시작합니다.


📦 패키지 설치 및 관리

명령어 설명
npm install 또는 npm i package.json에 정의된 의존성들을 설치합니다. Git으로 프로젝트를 클론 받은 후 실행하는 대표 명령어입니다.
npm install [패키지명] 개별 패키지를 설치합니다. 예: npm install express
npm install [패키지명] --save-dev 개발 환경에서만 필요한 패키지를 설치합니다. 예: webpack, eslint
npm uninstall [패키지명] 설치된 패키지를 제거합니다. package.json에서도 자동으로 삭제됩니다.
npm update 기존에 설치된 패키지를 가능한 최신 버전으로 업데이트합니다.
npm outdated 현재 설치된 패키지들의 최신 버전과 비교하여 업데이트가 필요한 항목을 확인합니다.

🌍 전역(Global) 설치

전역 설치는 시스템 전체에서 접근 가능한 명령어를 설치할 때 사용합니다.

명령어 설명
npm install -g [패키지명] CLI 도구 등을 전역으로 설치합니다. 예: npm install -g nodemon
npm uninstall -g [패키지명] 전역으로 설치된 패키지를 제거합니다.
npm list -g --depth=0 전역에 설치된 패키지 목록을 확인합니다. --depth=0 옵션은 루트 수준만 표시하게 해줍니다.

🛠️ 스크립트 실행

package.jsonscripts 항목에 자주 사용하는 명령어를 정의해두면 간단한 명령으로 실행할 수 있습니다.

"scripts": {
  "start": "node app.js",
  "dev": "nodemon app.js",
  "build": "webpack"
}
명령어 설명
npm run [스크립트명] 지정된 사용자 스크립트를 실행합니다. 예: npm run dev
npm start npm run start와 동일합니다. 별도 입력 없이 실행 가능
npm test 테스트 실행용 스크립트 (예: jest, mocha 등과 함께 사용)

🔧 문제 해결 및 보안

명령어 설명
npm audit 설치된 패키지에 보안 취약점이 있는지 검사합니다.
npm audit fix 자동으로 취약점을 수정 가능한 경우 수정합니다.
npm cache clean --force npm의 내부 캐시를 강제로 삭제합니다. 캐시 문제로 인해 설치 오류가 날 때 유용합니다.

⚡ npx 명령어

npx는 npm 패키지를 설치하지 않고도 한 번만 실행할 수 있도록 도와주는 도구입니다.

명령어 설명
npx [패키지명] 패키지를 설치하지 않고 일시 실행합니다. 예: npx create-react-app myApp

npx는 특히 프로젝트 생성 CLI 도구를 실행할 때 매우 유용합니다.


🔍 기타 명령어

명령어 설명
npm ls 현재 프로젝트에 설치된 패키지 의존성 트리를 출력합니다.
npm ls [패키지명] 특정 패키지의 설치 여부 및 위치를 확인할 수 있습니다.
node -v 현재 설치된 Node.js의 버전을 확인합니다.
npm -v npm의 버전을 확인합니다.
npm help 명령어 도움말을 출력합니다. npm help install처럼 세부 도움말도 가능

🧩 마무리 팁

  • Node.js와 npm을 제대로 이해하면 프로젝트 환경을 더 견고하게 만들 수 있습니다.
  • package-lock.json은 의존성 버전을 고정해주는 중요한 파일이므로, 배포 시 반드시 포함해야 합니다.
  • npm ci는 CI/CD 환경에서 빠르게 의존성을 설치할 수 있도록 고안된 명령어입니다.

Leave a Comment