[Day68] NodeJS - Yarn (part 1)

Validator·2023년 9월 19일
0

Yarn: 기본 개념과 사용 방법

Yarn이란?

Yarn은 JavaScript 프로그래밍 언어를 사용하는 개발자들을 위한 패키지 매니저(package manager)다. Facebook, Google, Exponent, Tilde 등이 공동으로 개발했다. Yarn은 프로젝트에 필요한 다양한 라이브러리와 프레임워크를 관리하는 도구로, 프로젝트의 일관성을 유지하고, 의존성 관리를 쉽게 해준다.

NPM과의 차이점

Yarn은 기존에 널리 사용되던 NPM(Node Package Manager)과 유사한 역할을 수행하지만, 몇 가지 차이점이 있다. Yarn은 속도, 보안, 그리고 오프라인 지원에 중점을 두고 개발되었다. Yarn은 한 번 설치된 패키지를 로컬 캐시에 저장해 두어, 재설치 시 인터넷 연결 없이도 설치할 수 있는 기능을 제공한다.

Yarn 설치

Yarn을 사용하기 위해선 먼저 설치해야 한다. Yarn은 Node.js와 함께 설치할 수 있다. Node.js가 이미 설치되어 있다면, 다음 명령어를 통해 Yarn을 설치할 수 있다.

npm install -g yarn

Yarn 사용하기: 기본 명령어들

  1. yarn init: 새로운 프로젝트를 시작하며, package.json 파일을 생성한다. 이 파일은 프로젝트의 메타데이터와 의존성 목록을 담고 있다.

  2. yarn add [패키지명]: 프로젝트에 새로운 의존성을 추가한다. 이 명령어는 package.jsonyarn.lock 파일을 업데이트한다. yarn.lock 파일은 의존성의 정확한 버전을 기록해 두어 다른 개발 환경에서도 동일한 의존성을 설치할 수 있게 한다.

  3. yarn install: package.json에 기록된 모든 의존성을 설치한다. 프로젝트를 처음 시작할 때 사용하거나, 다른 개발자의 코드를 클론(clone)한 후 사용하는 명령어다.

  4. yarn remove [패키지명]: 프로젝트에서 특정 의존성을 제거한다.

  5. yarn upgrade [패키지명]: 특정 의존성을 업그레이드한다.

작업 흐름 예시

  1. 프로젝트 초기화: yarn init 명령어로 새 프로젝트를 시작한다. 이 과정에서 여러 질문에 답하면서 package.json 파일을 생성한다.

  2. 의존성 추가: yarn add [패키지명]을 사용하여 필요한 라이브러리를 추가한다. 예를 들어, React 프로젝트를 시작한다면 yarn add react react-dom 명령어를 사용할 수 있다.

  3. 의존성 설치: 다른 개발자의 프로젝트를 클론한 경우, yarn install을 실행하여 필요한 의존성들을 설치한다.

  4. 의존성 업데이트 및 제거: 필요에 따라 yarn upgradeyarn remove 명령어로 의존성을 관리한다.


Yarn의 심화 사용법과 예시

1. Yarn의 기능 이해

Yarn은 단순히 패키지를 설치하고 관리하는 것 이상의 기능을 제공한다. 여기에는 작업 공간 관리(Workspaces), 스크립트 실행, 버전 관리 등이 포함된다.

a. 작업 공간(Workspaces)

Yarn Workspaces는 여러 서브 프로젝트(sub-project)가 있는 대규모 프로젝트를 관리할 때 유용하다. 이를 통해 하나의 저장소(repository) 안에서 여러 개의 독립적인 패키지를 관리할 수 있으며, 공통 의존성은 최상위 레벨에서 관리되어 중복을 줄일 수 있다.

b. 스크립트 실행

package.json 파일 내부에 정의된 스크립트를 Yarn을 통해 실행할 수 있다. 예를 들어, yarn startyarn test와 같은 명령어를 사용하여 개발 서버를 시작하거나 테스트를 실행할 수 있다.

c. 버전 관리

yarn version 명령어를 사용하여 패키지의 버전을 관리할 수 있다. 이는 프로젝트의 새로운 릴리스를 준비할 때 유용하다.

2. 실제 프로젝트에서의 Yarn 사용 예시

a. 프로젝트 구조 설정
  • 프로젝트 초기화: yarn init으로 새 프로젝트를 시작한다.
  • 작업 공간 설정: 대규모 프로젝트의 경우, 여러 서브 프로젝트를 workspaces 필드를 통해 package.json에 정의한다.
b. 의존성 관리
  • 의존성 추가: yarn add [패키지명]으로 필요한 라이브러리를 추가한다. 예: yarn add lodash (유틸리티 라이브러리 추가)
  • 개발 의존성 추가: 개발 중에만 필요한 라이브러리는 yarn add [패키지명] --dev로 추가한다. 예: yarn add jest --dev (테스트 라이브러리 추가)
c. 스크립트 실행
  • package.json에 정의된 스크립트를 yarn [스크립트명]으로 실행한다. 예: yarn test (테스트 실행)
d. 버전 관리
  • yarn version을 사용하여 패키지의 버전을 업데이트하고, 변경 사항을 기록한다.

3. 실습: 간단한 웹 애플리케이션 만들기

이제 Yarn을 사용하여 간단한 웹 애플리케이션을 만드는 방법을 살펴보겠다.

  1. 프로젝트 생성 및 초기화:

    mkdir my-web-app
    cd my-web-app
    yarn init -y
  2. React와 같은 프레임워크 추가:

    yarn add react react-dom
  3. 개발 서버와 빌드 도구 추가 (예: Webpack):

    yarn add webpack webpack-cli --dev
  4. 스크립트 설정: package.json에 개발 서버 시작 및 애플리케이션 빌드를 위한 스크립트를 추가한다.

  5. 애플리케이션 개발: 필요한 컴포넌트와 로직을 개발한다.

  6. 테스트 및 배포: 테스트를 실행하고, 애플리케이션을 배포한다.

0개의 댓글