yarn 알고 쓰자

Dongjun Ahn·2023년 9월 25일
0

yarn

yarn은 2016년 페이스북에서 개발한 패키지 관리자이다. 리액트(React)와 같은 프로젝트를 진행하며 겪었던 어려움을 해결하기 위해 개발되었고, npm과 같은 기능을 수행하나, npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었다.

yarn init

package.json이 존재하지 않으면 yarn init으로 생성

yarn install

패키지 설치
yarn 또는 yarn install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치

yarn global

yarn global <add/bin/list/remove/upgrade> [--prefix] : 패키지를 시스템 전역에서 설치, 업데이트, 삭제한다.

yarn add

yarn add package_name@버전 : 특정 패키지의 특정 버전 설치
yarn add 주소 : 특정 저장소 내 패키지 설치. 주로 github을 이와 같이 설치
yarn global add package_name : 옵션. 글로벌로 설치. 로컬의 다른 프로젝트도 이 패키지를 사용 가능

yarn add --dev/-D

devDependencies에 추가한다.

yarn remove

패키지 삭제

yarn upgrade

설치한 패키지들을 업데이트
yarn upgrade [package | package@tag | package@version | --scope @scope]... [--ignore-engines] [--pattern] :
package.json에 명시된 범위내에서 패키지의 버젼을 최신으로 업그레이드
yarn upgrade --latest : --latest옵션은 upgrade처럼 작동하지만 package.json의 범위가 아닌 최신버전으로 설치.
yarn upgrade left-pad@^1.0.0 : 직접 버젼을 설정

yarn dedupe

중복 설치된 패키지들을 정리

속도(performance)

yarn 은 다운받은 패키지 데이터를 캐시(cache)에 저장하여, 중복된 데이터는 다운로드 하지않고, 캐시에 저장된 파일을 활용함으로써, npm 에 비해 패키지 설치속도가 매우 빠르다.
여러개의 패키지를 설치할 때 병렬로 처리하기 때문에 performance 와 speed가 증가된다. (npm 은 순차적)

안정성(stability)/보안성(security)

npm 은 패키지가 설치될 때 자동으로 코드와 의존성을 실행할 수 있도록 허용했다.
이 특징은 편리하면서도 안정성을 위협할 수 있다.
특히, 보장된 정책없이 등록한 패키지가 존재할 수 있다는 점에서 더욱 위험도가 높다.
반면, yarn은 yarn.lock 이나 package.json으로 부터 설치만 하면, yarn.lock 은 모든 디바이스에서 같은 패키지를 설치하는 것을 보장하기 때문에 버전의 차이로 인한 버그를 방지할 수 있다.

profile
Front-end Developer

0개의 댓글