-
NPM과 YARM의 차이점Programing Study/E.T.C 2022. 1. 5. 23:46728x90반응형
보통 package를 설치할 때 NPM을 주로 사용했다
하지만 NPM이 있는데도 YARN이 개발된 이유가 있지 않을까?
NPM과 YARN의 차이점에 대해 알아보자
① Parallel installation of packages, packages 병렬 설치
패키지가 설치되면 일련의 작업을 수행한다. NPM에서 여러 패키지를 설치할 때, 패키지가 완전히 설치 될 때까지 기다린 후 다른 패키지를 설치한다. 즉, 작업은 패키지별로 순차적으로 실행된다.
하지만 YARN은 이러한 작업을 병렬로 설치하므로 퍼포먼스와 속도가 증가한다.
React를 설치했을 때, NPM과 YARN의 속도 차이는 이렇다
NPM — 3.572 seconds
YARN — 1.44 secondsYARN이 현저하게 속도가 빠른 것을 알 수 있다
② Automatic Lock file generation, 자동 lock 파일 생성
NPM과 YARN 모두 패키지에서 프로젝트의 종속성과 버전 번호를 추적한다. json 파일 종속성을 설치할 때마다 종속성 버전이 버전 번호 앞에 ^로 시작될 수 있다. 즉, 다른 시스템에 모든 패키지를 설치하거나 설치할 명령을 수동으로 실행할 때마다 패키지 관리자가 릴리스된 최신 버전을 찾는다. 최신 버전이 있는 경우 패키지 파일에 언급된 버전이 아닌 자동으로 설치된다. 패키지를 자동으로 변경하지 않으려면 두 가지 방법이 있다. 하나는 잠금 파일을 생성하여 한 번에 특정 버전만 설치되고 다른 하나는 패키지 파일에 ^을 제거하는 것이다.
종속성이 추가되면 YARN은 yarn.lock 파일을 자동으로 추가한다. NPM은 npm shrinkwrap 명령어로 lock 파일을 생성한다. 차이점은 NPM이 기본적으로 lock 파일을 생성하지 않을 때, YARN은 항상 yarn.lock 파일을 생성하고 업데이트한다는 것이다. npm-shrinkwrap.json이 존재하는 경우에만 업데이트된다. npm v5.0은 lock.json 파일로 명명된 새로운 패키지와 함께 제공되며 npm-lapwrap 시스템을 완전히 폐기했다. 이것은 설치 과정과 성능을 효율적으로 향상시켰지만, 아직 YARN의 속도 수준에는 도달하지 못 했다.③ Security, 보안
NPM은 다른 패키지를 즉시 포함시킬 수 있는 코드를 자동으로 실행하므로, 보안 시스템에 여러 가지 취약성이 발생한다. 반면에, YARN은 yarn.lock 또는 package.json 파일에 있는 파일만 설치한다. 따라서 YARN이 NPM 패키지보다 보안이 강화된 것으로 간주된다.
④ NPM vs YARN 명령어
NPM과 YARN에서 다른 명령어
Command NPM YARN Install dependencies npm install yarn Install package npm install [package] yarn add [package] Install dev package npm install --save-dev [package] yarn add --dev [package] Uninstall package npm uninstall [package] yarn remove [package] Uninstall dev package npm uninstall --save-dev [package] yarn remove [package] Update npm update yarn upgrade Update package npm update [package] yarn upgrade [package] Global install package npm install --global [package] yarn global add [package] Global uninstall package npm uninstall --global [package] yarn global remove [package] NPM과 YARN에서 같은 명령어
NPM YARN npm init yarn init npm run yarn run npm test yarn test npm login (and logout) yarn login (and logout) npm link yarn link npm publish yarn publish npm cache clean yarn cache clean 아래 사이트를 참고했다
https://javascript.plainenglish.io/npm-vs-yarn-choosing-the-right-package-manager-a5f04256a93f
도움되셨다면 하단의 광고 클릭 부탁드립니다:)
728x90반응형'Programing Study > E.T.C' 카테고리의 다른 글
Mysql) Timestemp(데이터타입) 조회할때 날짜 비교하기 (0) 2022.01.18 Amazon) express(node.js) 이용해서 s3에 이미지 업로드하기 (0) 2022.01.10 Docker) Dockerfile의 각 명령어 의미 (0) 2021.11.21 Docker) 자주 쓰는 Docker 명령어 (0) 2021.11.21 Docker) 우분투 18.04에 도커 설치하기 (0) 2021.11.21