node package manager의 약자이다.
Node.js로 만들어진 모듈을 웹에서 받아 설치하고 관리해주는 프로그램이며, 온라인 데이터베이스로 이루어져 클라이언트를 통해 접근 가능하다.
npm이 없었을 때에는 필요로 하는 기능을 추가하기 위해 직접 작성하거나 github를 통해 다운로드하여 사용해야 했다.
이제는, 단 몇줄의 command로 기존 공개된 모듈들을 설치하고 활용할 수 있다. 이를 통해 JS로 진행하는 프로젝트를 편하게 진행 할 수 있다.
| npm init | package.json 생성 |
| npm install | package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치 |
| npm install package_name@버전 | 특정 패키지의 특정 버전 설치 |
| npm install 주소 | 특정 저장소 내 패키지 설치 |
| npm uninstall | 패키지 삭제 명령어 |
| npm update | 설치한 패키지들을 업데이트한다 |
| npm dedupe | 중복 설치된 패키지들을 정리해주는 명령어 |
npm의 장점과 단점
| 장점 | 단점 |
|
|
페이스북에서 만든 js 패키지 매니저이다.
npm서버에 비해 속도가 빠르고, npm과 사용법이 비슷하다.
| yarn init | package.json 생성 |
| yarn or yarn install | package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치 |
| yarn add package_name@버전 | 특정 패키지의 특정 버전 설치 |
| yarn add주소 | 특정 저장소 내 패키지 설치 |
| yarn remove | 패키지 삭제 명령어 |
| yarn upgrade | 설치한 패키지들을 업데이트 |
| npm dedupe | 중복 설치된 패키지들을 정리 |
yarn의 장점
🤍 속도
yarn은 다운받은 패키지 데이터를 캐시(cache)에 저장하여, 중복된 데이터는 다운로드하지않고, 캐시에 저장된 파일을 활용함으로써 이론적으로 npm에 비해 패키지 설치속도가 매우 빠릅니다. 또한 여러개의 패키지를 설치할 때 병렬로 처리하기 때문에 performance와 speed가 증가 됩니다
🤍 안정성/보안성
yarn은 yarn.lock이나 package.json으로 부터 설치만 하며, yarn.lock은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하기 때문에 버전의 차이로 인해 생기는 버그를 방지해줄 수 있습니다.