본문 바로가기
매일 해내는 개발/Develog

[Develog] yarn berry

by 해야지 2023. 3. 6.
반응형

Yarn Berry란 무엇인가요?

Yarn Berry는 Facebook에서 개발한 오픈소스 자바스크립트 패키지 매니저인 Yarn의 새로운 버전이다.

Yarn Berry는 이전 버전인 Yarn Classic에서 겪었던 문제점들을 해결하고 개선된 기능들을 제공한다.

주요 기능으로는 Plug'n'Play (PnP)이 있다. PnP는 의존성 설치 및 관리를 더욱 효율적으로 수행할 수 있도록 도와주고 이를 통해 패키지 설치 속도 상승에 도움을 준다. 또한, PnP를 선택적으로 사용할 수 있기 때문에 기존의 Yarn Classic에서 사용되던 node_modules 디렉토리와 함께 사용할 수 있다.

Yarn Berry는  Workspaces를 지원하며 Workspaces는 여러 개의 패키지를 하나의 프로젝트로 관리할 수 있도록 도와주는 기능으로, 공통적인 의존성을 더 효율적으로 관리할 수 있다. 이를 통해 프로젝트를 더욱 효율적으로 관리할 수 있다.

또한, Yarn Berry는 Yarn 2.x보다 더욱 빠른 속도를 제공한다. 캐시 관리를 개선하고, 새로운 설치 알고리즘을 도입하여 이를 실현하였다.

Yarn Berry는 이전 버전들의 문제점을 해결하고, 더욱 효율적인 패키지 관리를 제공하기 위해 만들어졌다. Yarn 개발팀은 이제 Yarn Berry를 중심으로 Yarn을 발전시켜 나갈 예정이다.

 

Yarn 1.x 버전은 이제 더이상 개발을 안하나요?

현재 Yarn 1.x의 LTS(Long-Term Support) 버전은 2022년 6월 30일까지 제공될 예정이다. 이 기간 동안 보안 패치와 버그 수정 등의 중요한 업데이트가 제공될 것이다. 그러나 이후에는 보안 문제나 큰 버그 등이 발생할 경우에만 Yarn 개발팀이 수동으로 수정할 예정이며, 일반적인 업데이트는 제공되지 않을 것이다.

따라서, 가능한 빠른 시일 내에 Yarn 2.x나 Yarn Berry로 전환하는 것이 좋다. Yarn 2.x와 Yarn Berry는 Yarn 1.x보다 성능이 뛰어나며, 다양한 새로운 기능과 개선된 보안 기능을 제공한다.

 

npm과 yarn의 차이점은 무엇인가요?

npm과 Yarn은 모두 자바스크립트 패키지 매니저로서, 프로젝트에서 필요한 패키지를 관리하는 데 사용된다. 그러나 npm과 Yarn은 몇 가지 차이점이 있다.

  1. 속도: Yarn은 npm보다 더 빠른 속도를 제공한다. Yarn은 캐시를 사용하여 패키지를 더욱 빠르게 설치하고 의존성 관리를 수행한다.
  2. 보안: Yarn은 패키지 설치 중에 불필요한 코드 실행을 방지하는 Lockfile 기능을 제공한다. 이를 통해 프로젝트의 보안성을 높일 수 있다.
  3. PnP: Yarn은 Plug'n'Play(PnP) 시스템을 지원하여, 의존성 관리를 더욱 효율적으로 수행할 수 있다. PnP는 불필요한 의존성 설치를 줄이고, 빠른 설치 속도를 제공한다.
  4. Workspaces: Yarn은 Workspaces를 지원하여, 여러 개의 패키지를 하나의 프로젝트로 관리할 수 있다. 이를 통해 공통적인 의존성을 더욱 효율적으로 관리할 수 있다.
  5. 편의성: Yarn은 npm보다 더욱 편리한 CLI(Command Line Interface)를 제공한다. 예를 들어, Yarn은 yarn add 대신에 yarn add --dev나 yarn add --peer 같은 옵션을 제공하여 패키지를 더욱 간편하게 설치할 수 있다.

이러한 차이점들은 개발자들이 Yarn을 더욱 편리하게 사용할 수 있도록 도와주고, 프로젝트의 성능과 보안성을 높여준다.

 

yarn 2.x과 yarn 3.x의 차이는 무엇인가요?

Yarn 2.x와 Yarn Berry는 모두 Yarn의 새로운 버전으로, 이전 버전인 Yarn Classic과는 많은 차이점이 있다. 그러나 Yarn 2.x와 Yarn Berry 사이에도 차이점이 존재한다.

  1. Plug'n'Play (PnP) 기능: Yarn 2.x는 PnP를 기본으로 사용하지만, Yarn Berry는 PnP를 선택적으로 사용할 수 있다.
  2. 속도: Yarn 2.x는 Yarn Classic보다 더욱 빠른 속도를 제공하고, Yarn Berry는 Yarn 2.x보다 더욱 빠른 속도를 제공한다.
  3. Workspaces: Yarn 2.x와 Yarn Berry는 모두 Workspaces를 지원한다. 하지만, Yarn Berry는 Workspaces를 더욱 편리하게 사용할 수 있도록 개선되었다.
  4. 설정 파일: Yarn 2.x는 .yarnrc.yml 파일을 사용하여 설정을 관리한다. 하지만, Yarn Berry는 .yarnrc 파일을 사용한다.

이러한 차이점들은 개발자들이 각 버전의 장단점을 고려하여 적합한 버전을 선택할 수 있도록 도와준다. Yarn Berry는 Yarn 2.x의 문제점을 보완하고, 더욱 효율적인 패키지 관리를 제공하기 때문에, 가능하다면 Yarn Berry를 사용하는 것이 좋을 것 같다.

 

yarn에서 제공한다는 대체의존성이 무엇인가요?

Yarn에서 제공하는 대체 의존성(Alternative Registries)은 Yarn이 지원하는 외부 패키지 저장소 외에도, 다른 패키지 저장소를 사용할 수 있도록 하는 기능이다.

기본적으로 Yarn은 npm 공식 저장소를 사용하도록 설정되어 있지만, Yarn의 설정 파일(yarn.lock 파일이 있는 디렉토리 내에 위치한 .yarnrc.yml 파일)을 수정하여 다른 패키지 저장소를 추가하거나 기본 저장소를 변경할 수 있다. 이를 통해 개발자는 자신이 원하는 저장소를 선택하여 패키지를 설치하고 관리할 수 있다.

이러한 대체 의존성 기능은 Yarn이 지원하는 다양한 패키지 저장소를 활용할 수 있도록 하며, 종속성 관리와 패키지 설치 등의 작업을 더욱 효율적으로 처리할 수 있게 해준다. 이 기능을 통해 개발자는 원하는 패키지 저장소에서 필요한 패키지를 선택적으로 설치하여, 개발 프로젝트를 보다 유연하게 관리할 수 있다.

 

 

Home

Fast, reliable, and secure dependency management.

yarnpkg.com

 

반응형

댓글