NPM은 Node.js와 함께 제공되는 패키지 관리 도구
Node.js 애플리케이션에서 필요한 패키지 설치, 제거, 업데이트, 실행 등을 간편하게 처리 가능
npm install <package_name> --save (또는 생략 가능)npm install <package_name> --save-dev 또는 -Dnpm uninstall <package_name>npm update <package_name>npm run <script_name>npm install -g <package_name>npm uninstall -g <package_name>npm init으로 프로젝트 초기화 및 package.json 파일 생성npm create <package_name>으로 내부적으로 npx를 사용하여 프로젝트 생성package.json 파일에서 확인 가능
✅ but, 최근 빌드 도구의 발전으로 devDependencies에 설치된 패키지도 필요하다고 판단 시 자동으로 빌드에 포함
⇒ 하지만 명확한 구분 설치가 좋은 관행
🤔 어디에 설치해야 되는지 구분 방법
공식문서에서 설치 방법 확인
ex) —save-dev, —save
노드패키지 실행 담당
Node.js 설치 시 함께 제공되며, 일회성 패키지 실행과 특정 버전 실행에 유용
npx <package_name>npx <package_name>@<version>YARN은 페이스북에서 개발한 병렬 설치 기반 패키지 매니저임
npm은 싱글스레드 기반이라 한 번에 한 작업밖에 못해 시간이 오래 걸림
YARN은 더 빠르고 안정적인 패키지 관리 환경 제공
yarn add <package_name>yarn global add <package_name>yarn remove <package_name>yarn global remove <package_name>yarn upgrade <package_name>yarn run <script_name>yarn.lock 파일: 더 확정적인 의존성 관리 지원💡프로젝트당 하나의 패키지 매니저만 사용 필요예: NPM 사용 중이면 YARN 혼용 금지
| 기능/특징 | NPM | NPX | YARN |
|---|---|---|---|
| 기본 제공 | Node.js 기본 패키지 관리자 | NPM에 포함 (v5.2.0 이상) | 별도 설치 필요 |
| 패키지 설치 속도 | 보통 | N/A | 빠름 |
| 의존성 고정 파일 | package-lock.json | N/A | yarn.lock |
| 병렬 설치 지원 | 아니요 | 아니요 | 예 |
| 오프라인 모드 | 아니요 | 아니요 | 예 |
| 패키지 실행 | npm run <script_name> | npx <package_name> | yarn run <script_name> |
| 사용 편의성 | 보통 | 간편 | 높음 |

Node.js 패키지는 버전 관리를 통해 안정성과 호환성 유지. 버전은 항상 3자리 숫자로 표기
예시
1.15.3
| | └ Patch (버그 수정)
| └ Minor (새로운 기능 추가)
└ Major (큰 변화)
옵셔널 태그: 특정 버전 뒤에 의미를 추가로 부여. 예: 1.15.3-beta (베타 버전)
출처: 수코딩