패키지매지저
package.json
- 설치한 패키지의 버전 관리
- 노드 프로젝트를 시작하기 전에 무조건 package.json부터 만들고 시작해야함.
- npm init 으로 프로젝트 생성하면 만들어짐.
- scripts
- npm 명령어를 저장해두는 부분.
- 저장된 명령어를 npm run 으로 실행한다.
- package-lock.json
- node_modules에 들어있는 패키지들의 정확한 버전과 의존관계가 담겨있음
- npm install –save-dev [패키지]
- 개발용패키지. 개발중에만 사용되고 빌드에선 안됨
- 전역설치
- 패키지를 다 추가하는게 아니고, 명령어를 사용하기위해 설치
패키지버전 이해
- 세자리로 이루어짐. semetic versioning
- 첫번째 : major - 0이면 개발중. 1 -> 2 이면 하위호환이 안될 정도로 변경됐을때
- 두번째 : minor - 호환됨
- 세번째 : patch - 새로운 기능 추가보단, 기존 기능에 문제가 있어서 수정한 것
- ^, ~, >, < : 설치하거나 업데이트할때 어떤 걸 해야할지 알림.
- ^ : minor 버전까지만 설치하거나 업데이트함.
- ~ : patch 버전까지만
- >, <, >=, <=, = : 초과, 미만, 이상, 이하, 동일.
- @latest : 안정된 가장 최신
- @next : 가장 최근 배포판. 알파나 베타버전도 받아짐.
기타 npm 명령어
- npm update
- npm uninstall
- npm search
- npm info
- npm adduser : npm 로그인
- npm whoami
- npm logout
- npm version
- npm deprecate [패키지명] [버전] [메시지] : 자신의 패키지에만 적용가능.
- npm publish : 자신이 만든 패키지를 배포
- npm unpublish : 배포한 패키지 제거. 배포한지 72시간이 지나면 불가.
- npm ci : package-lock.json에 기반하여 패키지 설치.