NPM

mmra-mra·2023년 8월 20일

환경 설정

목록 보기
2/2

NPM

Node Package Manager, 자바스크립트 프로그래밍 언어를 위한 패키지 관리자. Node.js의 기본 패키지 관리자.

  • 사용 이유: 패키지 의존성 관리

설치

Node.js를 설치할 때 NPM이 함께 설치됨

Registry

  • 패키지를 다운로드 받는 위치
  • default: https://registry.npmjs.org/. default가 아닌 registry를 사용하고 싶은 경우 .npmrc를 수정
  • 한 패키지는 한 개의 registry만 가짐. Scoped 패키지의 경우 scope마다 npmrc를 작성하여 여러 registry를 사용할 수 있긴 함
  • private registry를 사용할 경우 token이 필요

관련 파일

  • .npmrc: private registry에 접근할 때 필요한 token이나 Proxy 정보 등을 저장. users/ 아래에 global npmrc 파일이 있고 프로젝트 루트 폴더에 개별 npmrc 파일을 관리할 수 있음
    • Git Repository 안에 .npmrc 파일이 있는 경우에는 Clone 했을 때 바로 npm 설정을 할 수 있다.
  • package.json: 프로젝트에서 사용하는 패키지의 정보를 저장하는 파일
    • name, version, description: 패키지의 이름과 버전, 설명
    • main: 패키지의 진입점이 되는 모듈의 ID, default: index.js
    • script: command alias
    • keywords, author, license: 패키지 배포용
    • dependencies: 배포에 필요한 패키지. 패키지를 다운로드 받으면 자동으로 패키지의 이름과 버전을 기록
    • devDependencies: 개발에만 필요한 패키지. e.g. 테스트용 패키지
    • 패키지의 버전을 범위로 지정함
  • package-lock.json: 패키지의 의존성에 대한 정확한 정보를 가지고 있는 파일. node_modules를 제외하고 배포할 경우 필요하며 패키지가 추가/삭제되거나 변경될 때마다 새로 작성

커맨드

  • npm init: 폴더 내부에서 npm을 사용할 수 있도록 package.json 파일을 만들어줌
  • npm install(or npm i):
    • -g 옵션: global 설치, --registry: 특정 레지스트리에서 패키지 설치
    • 특정 패키지 설치
    • 프로젝트의 package.json에 기록된 패키지 설치
  • npm ci: package-lock.json에 기록한 파일을 설치
    • npm install의 경우 package.json의 파일을 설치하고, 그 결과를 package-lock.json에 기록
    • npm ci는 package-lock.json의 파일을 설치
    • 공동 개발 환경에서는 npm ci 사용
  • npm config ls: npm 설정 파일 확인. global과 local의 .npmrc를 모두 보여줌

0개의 댓글