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
caution
- yarn.lock 파일은 항상 yarn 이 자동으로 관리하도록 하고, 직접 수정하지 않는다. 그리고 버전관리에 포함한다.
기타
# 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
Tip
- version
- npm, yarn 명령어에서 : @ 은 특정 패키지의 특정 버전을 의미한다. ex : yarn add weppack@4.0.0
- package.json 에서 :
- ~ (tilt) : 최하위버전의 업데이트만 허용
- ^ (carot) : 최상위 버전의 업데이트까지 자유롭게 허용.
Yarn
Fast, reliable, and secure dependency management.
classic.yarnpkg.com
Yarn vs npm: Everything You Need to Know - SitePoint
Modern web development is virtually impossible without a package manager. Our Yarn vs npm comparison will help you decide which to use.
www.sitepoint.com
NPM vs Yarn Cheat Sheet
Everything you need to know about Yarn package manager
shift.infinite.red
'Node.js' 카테고리의 다른 글
설치된 npm 글로벌 패키지 리스트 확인 및 제거 (0) | 2022.09.27 |
---|---|
nodejs 서버 5000번 포트 이미 사용 중 에러 (0) | 2022.07.30 |
nodejs 로그인 로직 (0) | 2022.07.30 |
nodejs express http response code 413 error 해결방법 (0) | 2022.07.03 |
gulp nodejs 업데이트 후 실행 시 Sass 오류 (0) | 2022.03.01 |
개의 댓글