자바스크립트 런타임 환경인 node.js의 기본 패키지 관리자이다.
가장 유명한 자바스크립트 패키지 매니저로 자바스크립트 개발자들이 가장 많이 사용하며, 그로인해 세계 최대 규모의 패키지저정소이기도 하다.
facebook진영에서 npm의 일관성, 보안, 빌드시 성능 등에 문제를 해결하기 위해 만든 새로운 자바스크립트 패키지 매니저.
또한 다운받은 패키지 데이터를 캐시에 저장하여, 중복된 데이터는 다운로드하지않고, 캐시에 저장된 파일을 활용함으로써 패키지 설치속도가 매우 빠르다.
패키지의 설치, 업데이트, 수정, 삭제를 안전하고 편리하게 관리하는 툴
속도 차이가 있다는데 npm이 업데이트 되서 npm 5버전 이상에서는 별 차이가 없다고 한다.
yarn는 yarn install 을 진행한 시점을 기준으로 버전정보가 yarn.lock 이라는 파일에 저장 되고, yarn.lock은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하여 다른 버전의 패키지 설치로부터 발생하는 버그 확률을 감소시킵니다.
근데 이것도 npm 5버전 업데이트로 package-lock.json 을 생성해 비슷한 역할을 하여 큰 차이가 없다고 한다.
npm -verson (npm -v)
yarn -verson (yarn -v)
package.json은 프로젝트의 정보, 프로젝트가 의존하고 있는 설치 된 패키지(모듈)에 대한 정보가 저장되어 있는 json파일
npm init (npm init -y //모든 물음에 자동으로 응답)
yarn init
npm install (npm i)
yarn install
npm install 패키지명
yarn add 패키지명
npm install -g 패키지명
yarn add global 패키지명
npm install 패키지명 --save-dev
yarn add 패키지명 --dev
npm update 패키지명
yarn upgrade 패키지명
npm uninstall 패키지명
yarn remove 패키지명