목차
· Yarn이 무엇이길래 많이 사용해요?
· Npm과 Yarn의 차이
· Yarn 설치 방법
· 레퍼런스
Yarn이 무엇이길래 많이 사용해요?
Yarn은 2016년 페이스북에서 개발한 패키지 관리자이다. React와 같은 프로젝트를 진행하며 겪은 어려움을 해결하기 위해 개발이 되었고, Npm과 같은 기능을 수행하나 Npm 레지스트리와 호환하면서 속도나 안정성 측면에서 Npm보다 향상이 되었다. Npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는 특징이 있는데, 이 특징은 편리하지만 안정성을 위협할 수 있다. 이에 따라 보안 시스템에 몇가지 취약성이 발생하기도 하며 나중에는 이러한 부분들이 커져 심각한 문제가 발생할 수 있다.
Yarn은 yarn.lock 또는 packge.json 파일에 있는 파일만을 설치하기 때문에 보안적인 면에서 Yarn이 더 안전하다는 결과가 있다. 하지만, 최근 Npm 업데이트에서 Npm 보안 업데이트도 크게 향상이 되었다. Yarn 명령어를 정리해본다면 아래와 같이 역할과 커맨드를 나열할 수 있다.
> yarn init : package.json 생성
> yarn OR yarn install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
> yarn add package_name@버전 : 특정 패키지의 특정 버전 설치
> yarn add 주소 : 특정 저장소 내 패키지 설치, 주로 Github를 이와 같이 설치한다.
> yarn global add packge_name : 글로벌 옵션을 부여하여 글로벌로 설치를 진행한다. 로컬의 다른 프로젝트도 이 패키지를 사용할 수 있다.
> yarn remove : 패키지 삭제 명령어이다.
> yarn upgrade : 설치한 패키지들을 업데이트해준다.
> yarn dedupe : 중복 설치된 패키지들을 정리해주는 명령어이다.
Npm과 Yarn의 차이
Npm과 Yarn의 주요 차이점 중 하나는 패키치 설치 프로세스를 처리하는 방법이다. Npm은 패키지를 한번에 하나씩 순차적으로 설치하지만, Yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 Yarn이 Npm보다 빠르다. 현재도 Yarn이 빠르지만 Npm의 업데이트로 인해 차이가 거의 없어졌다고 볼 수 있다.
명령어 | NPM | YARN |
Dependencies 설치 | npm install | yarn OR yarn install |
패키지 설치 | npm install [패키지 명] | yarn add [패키지 명] |
dev 패키지 설치 | npm install --save-dev [패키지 명] | yarn add --dev [패키지 명] |
글로벌 패키지 설치 | npm install --global [패키지 명] | yarn global add [패키지 명] |
패키지 제거 | npm uninstall [패키지 명] | yarn remove [패키지 명] |
dev 패키지 제거 | npm uninstall --save -dev [패키지 명] | yarn remove [패키지 명] |
글로벌 패키지 제거 | npm uninstall --global [패키지 명] | yarn global remove [패키지 명] |
업데이트 | npm update | yarn upgrade |
패키지 업데이트 | npm undate [패키지 명] | yarn upgrade |
Yarn 설치 방법
Yarn을 설치하기 위해서는 Npm이 기본적으로 설치되어있어야 한다. Yarn은 Npm을 통해 설치를 진행한다.
$ npm install --g yarn
다음으로 Yarn을 사용하기 위해 의존성 설치를 진행한다.
$ yarn
레퍼런스
'개발적인' 카테고리의 다른 글
배포를 하기에는 시간이 너무 많이 들고, 로컬 서버를 공유하고 싶다면? (0) | 2023.10.16 |
---|---|
아이패드의 분기처리, 그러니까 브라우저에서 아이패드인걸 어떻게 구분해요? (0) | 2023.09.02 |
3개월 안에 토스 코어에서 사용하는 모든 기술 스택 찍먹하기 (0) | 2023.08.27 |
정든 멋쟁이사자처럼을 떠나며 (0) | 2023.08.20 |
Node OpenSSL 3.0 문제를 겪어보셨나요? (0) | 2023.07.17 |
댓글