5.패키지 매니저

5.1 npm

  • npm
    • Node Package Manger
    • 노드의 패키지 매니저
    • 다른사람들의 소스 코드를 모아둔 저장소
    • 다른사람들의 소스 코드를 사용하여 프로그래밍 가능
    • 오픈 소스 생태계
  • package.json
    • 현재 프로젝트에 대한 정보와 사용중인 패키지에 대한 정보 파일
    • 버전을 기록해두어야 함
    • npm init으로 노드 프로젝트 시작전 package.json 만들기
  • npm 설치
    • npm i express cookie-parse body-parse
    • npm i -D nodemon 개발용 Dependencies
    • npm i node_modules를 설치 하는것
    • npm i -g rimraf global로 설치 커맨드 창에서 명령어 처럼 사용 가능

5.2 npx

  • npx
    • Node Package Execute
    • Dependencies에 기록이 안됨
    • npm i -D rimraf로 설치 후 커맨트 창에서 npx rimraf로 실행 가능
  • package-lock.json
    • package.json에 기록된 종속성의 하위 패키지 종속성 버전을 모두 기록되어 있는 정보 파일
    • 수정할일이 거의 없다.

5.3 패키지 버전

  • versioning
    • Semver 버저닝
    • 자리수가 3자리
    • xx.xx.xx (주버전.부버전.수버전)
    • 주 버전은 하위 버전과 호환되지 않은 수정사항이 생겼을 경우
    • 부 버전은 하위버전과 호환되는 수정 사항이 생겼을 때
    • 수 버전은 버그를 해결 했을 경우
  • 버전기호
    • ^(캐럿), ^1.1.1일 경우 첫 번째 자리가 1이 고정되도록 함
    • ~, ~1.1.1 일 경우 두 번째 자리까지 고정되도록 함
    • 아무것도 없는 경우는 세 번째 자리까지 고정되도록 함
    • @astest는 최신
    • @next 가장 최신 배포판(불안정)
    • alpha, beta, rc - 수 버전보다 낮은 버전을 단계로 표현하기 위함.
  • 버전 설치
    • npm i express@latest
    • npm i express@3
    • npm i express@next

5.4 기타 npm 명령어

  • npm ls
    • 사용중인 패키지
  • npm outdated
    • 패키지 기능 변화 추적
  • npm uninstall 패키지명
    • 패키지 삭제
  • npm search 검색어
    • 패키지 검색
  • npm info 패키지명
    • 패키지의 세부정보
  • npm adduser
    • npm에 로그인 하기 위한 명령어 (npmjs.com)
  • npm whoami
    • 현재 사용자
  • npm version major, miner, patch 등
    • 버전 업데이트, 커밋 및 태그까지 지원
  • npm deprecate 패키지명 버전 메세지
    • 패키지를 설치 할 때 경고 메세지를 띄움
  • npm publish 패키지명
    • 패키지 배포
  • npm ubpublish 패키지명
    • 배포 중단(배포 후 72시간 내 가능)

Comments