yarn 은 javascirpt 의 package manager 이다. npm 의 drop-in substitute 로 사용할 수 있는 점이 초기 도입에도 큰 장점이다.패키지 설치 속도가 더 빠르고, 패키지 설치과정에서 패키지가 code를 running 하지 않도록 하여 더 보안상 안전하다.또한, 같은 package.json 에 의존하는 두개의 서로 다른 환경이 서로 다른 버전의 패키지 의존성을 가지는 것을 방지하기 위해, 버전의 range 가 아닌, 정확한 버전을 명시한 yarn.lock 파일을 사용한다.
# npm install
yarn install 또는 yarn
# npm i <package> --save
yarn add <package>
# npm i <package> --save-dev
yarn add <package> --dev : --dev 옵션은 -D 와 같다.
# 패키지 삭제
yarn remove <package>
# dependencies와 devDependencies 모두 (package.json 에 명시된) version rule 에 따라 최신 버전으로 업그레이드.
# 만약 어떤 패키지가 semantic versioning([segVer](<https://github.com/semver/semver/blob/master/semver.md>))를
# 따르지 않는다면, version rule이 무색해져 하위 호환성이 보장되지 않는 업그레이드일 수도 있다.
yarn upgrade
# 특정 패키지를 특정 버전으로 업그레이드
yarn upgrade <package>@<version>
# 목록들 중에서 원하는 패키지만 최신버전으로 업그레이드하는 interactive terminal ui 를 제공한다.
yarn upgrade-interactive
# production 환경서 필요한 dependencies 만 설치
NODE_ENV=production yarn install 또는 yarn install --production
# npm i <package> -g
yarn global add <package>
# npm init
yarn init
# CI 서버와 같이 재생 가능한 의존 패키지가 필요한 경우 --fronzen-lockfile 플래그는 유용합니다.
# yarn.lock과 package.json이 동기화 되지 않은 상태에서 업데이트가 필요한 경우에는 설치를 실패하고 yarn.lock을 생성하지 않습니다.
# [출처](<http://www.holaxprogramming.com/2017/12/21/node-yarn-tutorials/>)
yarn install --frozen-lockfile
yarn add [email protected]