yarn vs npm

이지혜·2023년 5월 3일
0

npm 과 yarn의 공통점

  • Node.js 패키지 매니저

npm과 yarn의 차이점

  1. 속도
  • npm과 yarn의 주요 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법입니다.npm은 패키지를 한 번에 하나씩 순차적으로 설치합니다. 그에비해 yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 yarn이 npm보다 빠릅니다.
  1. 보안
  • yarn은 보안 측면에서 npm보다 더 안전한 것으로 알려져 있습니다. npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행합니다.이로 인해 보안 시스템에 몇 가지 취약성이 발생하며 나중에 심각한 문제가 발생할 수 있습니다. 반면에 yarn은 yarn.lock 또는 package.json 파일에 있는 파일만을 설치합니다. 보안은 yarn의 핵심 기능 중 하나이지만 최근 npm의 업데이트에서 npm의 보안 업데이트도 크게 향상되었습니다.
  1. 설치
  • npm은 2010년에 처음 출시된 노드 패키지 매니저(Node Package Manager)의 줄임말로 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자입니다. 그래서 별도의 설치가 필요없이 node.js를 설치하면 바로 사용이 가능하다.
  • yarn은 2016년 페이스북에서 개발한 패키지 관리자입니다. 리액트(React)와 같은 프로젝트를 진행하면거 겪었던 어려움을 해결하기 위해 개발되었고, npm레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었습니다. yarn을 설치할 때는 npm 또는 homebrew를 사용하여 설치해야한다.

결론!

개발환경과 프로젝트의 요구 사항에 따라 적합한 패키지 매니저를 선택해야함!

  • npm과 yarn은 둘 다 지속적으로 관리되고 있으며 폭넓은 사용자 커뮤니티를 가지고 있고, 업데이트를 통해 추가된 기능(npm version.5 부터 package-lock.json 생성/npm version.6 부터 보안기능 내장) 덕분에 거의 차이 나지 않게 되었습니다. 결론적으로 둘 중에 무엇을 선택해야할지는 개인의 취향, 성능(패키지 설치 속도), 커뮤니티에 따라 달라질 수 있습니다.

내 생각) 개발자들이 yarn을 더 선호하는 이유는 npm이 발전했지만 속도문제와 협업하면서 생길 문제 상황을 미연에 방지하기 위해 안전한 yarn을 사용하는것 같다. ( yarn이 기능이 많은 만큼 저장공간도 많이 차지하기도 하고 npm은 별도의 설치가 필요없으니, 규모가 작은 개인 프로젝트 수준에는 npm을 사용하는 것이 더 나을것 같다.)


cf.

패키지(Package)

  • 코드,문서 의존성 정보 등을 모아서 배포할 수 있도록 만들어진 묶음.

  • 즉, 코드의 재사용성과 배포 편의성을 높이기위해 사용.

    ◦코드: 해당 패키지가 제공하는 기능을 구현한 코드 파일
    ◦문서: 패키지 사용방법, API문서 등을 담은 문서 파일
    ◦의존성 정보: 해당 패키지가 의존하는 다른 패키지의 정보

    ex) 내장패키지, webpack, Babel, ESLint, Prettier 등과 같은 빌드 도구 및 코드 포맷터, 코드 분석 도구 등의 패키지

패키지 매니저(Package Manager)

  • 패키지들을 검색, 설치, 업데이트, 삭제하는 도구
    ex) Node.js의 경우, npm과 yarn이 대표적인 매니저
profile
고민하고 실행하는 프론트엔드 개발자, 이지혜입니다.

0개의 댓글