npm이란 무엇인가?
npm이란 노드 패키지 매니저(Node Package Manger)를 의미하며 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 또한 Node.js를 설치하면 자동으로 설치된다.
npm을 사용하면 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스에 올리고 사용자는 그것을 npm과 같은 패키지 관리자를 통해 설치 및 삭제가 가능하다. 또한 CLI를 통해서 패키지 설치, 삭제 뿐만 아니라 패키지의 버전 관리, 의존성 관리 역시 편하게 할 수 있다.
현재는 자바스크립트 모듈을 설치하기 위해 npm을 대신할만한 오픈 소스 대안들이 많이 늘었다.
여기에는 ied, pnpm, npmd, Yarn이 포함된다.
npm 과 yarn
yarn은 2016년 페이스북에서 개발한 패키지 관리자이다.
리액트와 같은 프로젝트를 진행하며 겪은 어려움을 해결하기 위해 개발되었고 npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상 되었다.
그렇다면 그 둘은 어떤 차이점이 존재할까?
속도
먼저 이 둘의 주요 차이점 중 하나는 바로 패키지 설치 프로세스를 처리하는 방식이다.
npm에서 여러 패키지를 설치할 때 한 패키지가 완전히 설치가 될 때까지 기다린 후 다음 패키지를 설치한다. 즉 순차적으로 작업이 실행된다.
yarn은 병렬적으로 이러한 작업을 실행한다. 그러므로 속도 및 퍼포먼스의 향상 측에서 차이가 난다.
보안
yarn은 보안 측면에서 npm보다 안전한 것으로 알려져 있다.
npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행한다. 이로인해 보안 시스템에 취약성이 발생해 문제가 발생할 수 있다.
yarn은 yarn.lock 혹은 package.json 파일에 있는 파일만 설치하므로 보안이 npm에 비해서 뛰어나다.
npm과 yarn의 명령어
서로 다른 명령어
서로 같은 명령어
출처
https://javascript.plainenglish.io/npm-vs-yarn-choosing-the-right-package-manager-a5f04256a93f
https://www.digitalocean.com/community/tutorials/nodejs-npm-yarn-cheatsheet
https://ko.wikipedia.org/wiki/Npm_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
'[AWS] > AWS 기타' 카테고리의 다른 글
[AWS] AWS Global Accelerator 추가로 확인 할 사항들 (0) | 2022.11.04 |
---|---|
[AWS] RDS vs EC2 차이점, 간단히 파악하기!! (0) | 2022.10.17 |
[AWS] S3 게이트웨이 엔드포인트 생성 및 EC2 핑 테스트 (0) | 2022.10.13 |
[AWS] aws-cli 명령어 이용해서 Ubuntu 서버에서 S3로 파일 보내기 (0) | 2022.10.13 |
[AWS] CLI 통해서 CloudFront 무효화 생성하기 (0) | 2022.10.04 |
virtualbox 사용하는 방법 (0) | 2022.10.04 |
[MariaDB / MySQL] 테이블 이름 대소문자 변경 (0) | 2022.09.28 |
[MariaDB / MySQL] uft8 & utf8mb4 비교 (0) | 2022.09.28 |
댓글