5. 패키지 매니저

박현민·2022년 4월 11일

Node.js

목록 보기
1/3

5.1 npm

  • Node Package Manager
  • npm에 업로드 된 노드 모듈을 패키지 라고 함

5.2 package.json

  • 설치한 패키지의 버전을 관리하는 파일
$ npm init //프로젝트 기본 설정

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (node)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to C:\Users\hyeonmin\Desktop\study\node\package.json:

{
  "name": "node",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "directories": {
    "test": "test"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)
  • package name : 패키지 이름
  • version : 패키지 버전
  • entry point : 자바스크립트 실행파일 진입점
  • test command : 코드를 테스트 할 때 입력할 명령어
  • git repository : 깃저장소 주소
  • keywords : npm 공식 홈페이지에서 패키지를 쉽게 찾을 수 있게 해줌
  • license : 해당 패키지의 라이선스 입력
  • --save 옵션 : dependencies에 패키지 이름을 추가하는 옵션이지만 npm@5부터는 기본값이 되었으므로 추가하지 않아도 됨
  • --save-dev 옵션 : 개발할때만 사용하는 패키지
    $ npminstall --save-dev nodemon 
  • global 옵션 : 전역 설치

5.3 패키지 버전 이해

  • SemVer(Semantic Versioning) : 버전을 구성하는 자리가 모두 의미를 가지고 있음
major.minor.patch
  • major
    • 하위 호환이 안될 정도로 패키지의 내용이 수정되었을 때 올림
  • minor
    • 하위 호환이 되는 기능 업데이트를 할 때 올림
  • patch
    • 기능 수정

package.json의 기호

  • 설치나 업데이트 할 때 어떤 버전을 설치해야 하는지 알림
    ^ : minor버전까지만 설치하거나 업데이트
    ~ : patch버전까지만 설치하거나 업데이트
    >, <, >=, =<, = 가 있음

5.4 npm 명령어

  • npm outdated : 업데이트 가능한 패키지 확인
  • npm update [패키지명] : 패키지 업데이트
  • npm uninstall [패키지명] : 패키지 제거
  • npm search [검색어] : 패키지 검색
  • npm info [패키지명] : 패키지 세부 정보
  • npm adduser : npm 로그인
  • npm whoami : 로그인한 사용자 알림
  • npm version [버전] : package.json 버전 올림
  • npm deprecate [패키지명][버전][메시지] : 해당 패키지 설치할때 경고 메시지 띄우기
  • npm publish : 자신이 만든 패키지 배포
  • npm unpublish : 배포 패키지 제거
  • npm ci : package.json대신 package-lock.json에 기반하여 패키지 설치

0개의 댓글