네로개발일기

개발자 네로의 개발 일기, 자바를 좋아합니다 !

반응형

❓ Yarn이란?

yarn은 프로젝트의 의존성을 관리하는 javascript의 package manager이다. *Java의 gradle이나 Python의 pip와 같은 것.
yarn은 npm과 마찬가지로 package.json을 통해 의존 패키지를 구분하고 프로젝트에서 어떤 일을 할지 결정한다.

 

❗️ npm vs yarn

npm의 한계
npm 저장소의 취약한 보안 이슈를 시작으로, 의존 패키지의 버저닝 이슈, 무엇보다 패키지가 많아짐에 따라 빌드 성능이 좋지 않다는 점이 가장 큰 문제이다.
yarn의 장점
- 다운로드한 패키지 캐시: yarn은 모든 패키지를 유저 디렉토리에 저장해 캐싱한다.
캐싱하기 위한 디렉토리 경로는 아래와 같다.

$ yarn cache dir $HOME/Library/Caches/Yarn/v1

- 운영 병렬화 리소스 활용 극대화로 설치 시간 단축
- 코드 실행전 설치된 패키지의 무결성 확인
- 이전에 설치한 패키지를 설치한 경우 오프라인으로 재설치

 

🍓 yarn.lock

같은 package.json에 의존하는 서로 다른 환경이 서로 다른 버전의 패키지 의존성을 가지는 것을 방지하기 위해 yarn.lock 파일을 사용하여 정확한 버전을 명시한다.

 

🍭 CLI 옵션

Default Command
yarn 뒤에 다른 명령어 없이 실행하면 yarn install 이 실행된다.

yarn add
- package를 다운받을 때 사용하는 명령어이다.

$ yarn add <package...> # dependencies에 추가한다. $ yarn add <package...> [--dev/-D] # devDependencies에 추가한다.

yarn global

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

yarn create

$ yarn create <starter-kit-package> [<args>] # starter kit package를 이용해 프로젝트를 설치한다.

yarn init

$ yarn init # package.json을 생성한다. $ yarn init --yes/-y # package.json을 설정하는 질문을 모두 default로 넘어간다.

yarn install

$ yarn install # package.json 의존성 모듈을 설치한다. yarn.lock도 같이 생성



728x90
반응형
blog image

Written by ner.o

개발자 네로의 개발 일기, 자바를 좋아합니다 !