PR CENTER

뉴스룸     |     료실

mobile background

PR CENTER

패키지 매니저(FrontEnd)

관리자
2024-12-09
조회수 33

□ 패키지 매니저란?

    - 과거에는 필요한 라이브러리를 일일이 다운로드하고 수동으로 프로젝트에 추가해야 했다. 이는 시간이 많이 걸리고 비효율적이었기에 패키지 

       매니저가 등장하게 되었다.

    - 패키지 매니저는 프로젝트에 필요한 외부 라이브러리와 도구들을 쉽게 설치, 관리, 업데이트 할 수 있게 해주고 개발자가 최신 트렌드를 빠르게 

       따라갈 수 있게 도와주는 중요한 도구이다

 

□ 패키지 종류

   1. npm

      - npm 이란?

         ; npm은 node.js의 기본 패키지 매니저이며 node 설치 시 기본적으로 포함되어 설치되기 때문에 가장 널리 사용되는 패키지 매니저이다. 

          그로 인해 방대한 패키지 생태계를 유지하고 있다

      - npm 특징

         ; node.js의 기본 패키지 매니저로 node 설치하면 자동으로 함께 설치되어 별도의 설정 없이 바로 사용할 수 있다.

         ; 가장 큰 소프트웨어 레지스트리를 보유하고 있어, 수많은 오픈소스 라이브러리를 쉽게 검색하고 설치하여 사용할 수 있다.

         ; 간단한 명령어 체계를 가지고 있어 비교적 러닝커브가 낮으며, 패키지 설치, 프로젝트 초기화, 스크립트 실행 등을 간편하게 처리할 수 있다.


   2. yarn

      - yarn 이란

         ; 2016년 npm의 느린 성능과 일관성 없는 설치 프로세스를 개선하기 위해 페이스북에서 개발된 패키지 매니저이다.

      - yarn 특징

         ; 병렬 다운로드 방식을 도입하여 패키지 설치 속도를 획기적으로 개선하였다.

         ; 엄격한 버전 관리로 yarn.lock 파일을 통해 정확한 의존성 버전을 고정한다.

         ; 워크스페이스(모노레포 관리) 지원하여 여러 프로젝트에 걸친 의존성을 효율적으로 관리할 수 있어, 대규모 프로젝트나 복잡한 프로젝트 구조에서 매우 효율적이다.

      - yarn berry (yarn 2+)

         ; PnP(Plug'n'Play) 설치 방식

             . node_modules 폴더를 생성하지 않고, 패키지 의존성 정보를 .zip 파일로 관리

         ; 효율적인 의존성 검색

             . .pnp.cjs 파일이 제공하는 자료구조를 이용해서 의존성 위치를 즉시 찾을 수 있다.

         ; 개선된 패키지 관리

             . 패키지의 압축 파일을 .yarn/cache 폴더에 수평적으로 저장한다.


   3. pnpm

      - pnpm 이란?

         ; 효율적인 패키지 설치와 관리를 위해 설계되었다. pnpm은 "Performant npm"의 약자로, npm과 yarn의 장점을 결합하여 더 빠르고 

           효율적인 패키지 설치를 제공한다.

      - pnpm 특징

         ; 패키지를 전역적으로 캐시하여 동일한 패키지를 여러 프로젝트에서 공유한다.

         ; 패키지를 설치할 때, 캐시된 패키지를 재사용하여 설치 속도를 높인다.

         ; 패키지의 의존성을 명확하게 관리하여, 의존성 충돌을 방지한다.

         ; 워크스페이스(모노레포 관리) 지원하여 여러 프로젝트에 걸친 의존성을 효율적으로 관리할 수 있어, 대규모 프로젝트나 복잡한 프로젝트 

           구조에서 매우 효율적이다.


□ 패키지 매니저 장단점 비교

종류

장점

단점

npm

• 가장 큰 패키지 레지스트리 보유

• 설치가 간편함

• 상대적으로 느린 설치 속도

yarn

• 병렬 다운로드로 설치 속도 개선

• 엄격한 버전 관리 및 워크스페이스 지원

• Classic과 Berry 버전 간 호환성 문제

• 플러그인 시스템으로 인한 러닝 커브 증가

pnpm

• 가장 효율적인 저장 공간 사용

• 글로벌 캐시를 통한 빠른 설치 속도

• 엄격한 버전 관리 및 워크스페이스 지원

• 일부 npm 스크립트와 호환성 문제

• 초기 설정의 복잡성


                                                                                                                                                                                                  ⭐발표자 : 이선우님 

0 0

페이지 바로가기

@2024 K2SYSTEMS. All rights reserved.

HOME       |       ABOUT US       |       SOLUTION       |       PR CENTER       |       CONTACT       |       인재채용       |       kakao i cloud 고객센터  

@2024 K2SYSTEMS. All rights reserved.