Recent Posts
Recent Comments
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Today
Total
관리 메뉴

DH의 개발 공부로그

[IT] npm vs yarn의 차이점? 본문

IT개발상식

[IT] npm vs yarn의 차이점?

DeveloperDH 2023. 4. 7. 00:00
728x90

npm과 yarn

npm과 yarn

npmyarn은 node 개발 환경에서의 패키지 매니저입니다.
전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능합니다.
또한 명령 줄 인터페이스(Command-line interface, CLI)를 통해 패키지 설치 및 삭제뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있습니다.
그렇다면 npmyarn의 차이점이 무엇인지 확인해 보겠습니다.

npm

NPM은 Node Package Manager의 약자로 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자입니다.
NPM 툴을 이용하여 사람들이 Node패키지를 만들고, 업로드, 공유할 수 있어 누구나 게시된 패키지를 사용할 수 있습니다. 또한 단 몇 줄의 command로 게시된 패키지들을 설치/제거가 가능합니다.

설치

npm은 기본적으로 노드를 다운로드하면 자동으로 설치 되기 때문에 노드 설치 후 다음과 같은 명령을 통해 설치되었는지 확인할 수 있습니다.

$ node -v
$ npm -v

yarn

yarn은 2016년 페이스북에서 npm의 보안 및 성능 문제 등을 개선하여 npm을 대체하기 위해 개발된 새로운 패키지 관리자입니다.
npm과 같은 기능을 수행하나, npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상되었습니다.

설치

yarnnpm을 통해 설치해야 합니다.

$ npm install yarn --global

npm과 yarn의 차이점?

1. 속도

npmyarn의 주요 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법입니다. npm은 패키지를 한 번에 하나씩 순차적으로 설치하지만, yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 yarnnpm보다 빠릅니다.
하지만 최근에는 여전히 yarn이 빠르지만 아주 근소한 차이라고 합니다.

2. 보안

yarn이 보안 측면에서 npm보다 더 안전한 것으로 알려져 있습니다. 그 이유가 npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는 특징이 있는데, 이 특징은 편리하지만, 안정성을 위협할 수 있습니다.
이에 따라 보안 시스템에 몇 가지 취약성이 발생하기도 하며 나중에 심각한 문제가 발생할 수도 있습니다.
반면 yarnyarn.lock 또는 package.json파일에 있는 파일만을 설치하기 때문에 보안적인면에서 yarn이 더 안전하다는 결과가 있습니다.
하지만 최근 npm의 업데이트에서 npm의 보안 업데이트도 크게 향상되었습니다.

npm과 yarn의 명령어

명령어 npm yarn
Dependencies  설치 npm install yarn
패키지 설치 npm install [패키지명] yarn add [패키지명]
dev 패키지 설치 npm install --save-dev [패키지명] yarn add --dev [패키지명]
글로벌 패키지 설치 npm install --global [패키지명] yarn global add [패키지명]
패키지 제거 npm uninstall [패키지명] yarn remove [패키지명]
dev 패키지 제거 npm uninstall --save - dev [패키지명] yarn remove [패키지명]
글로벌 패키지 제거 npm uninstall --global [패키지명] yarn global remove [패키지명]
업데이트 npm update yarn upgrade
패키지 업데이트 npm update [패키지명] yarn upgrade [패키지명]

결론

결론적으로 둘 중에 무엇을 사용하는 게 좋은지는 npmyarn 둘 다 패키지를 관리하기에 좋은 툴이며, 둘 다 지속적으로 관리가 되고 있고, 최근에는 업데이트를 통해 차이가 근소해졌기 때문에 지금 상황에서 둘 중에 고르는 것은 개인의 취향 차이라고 생각 합니다. 그래도 저는 아직은 속도적인면에서 yarn이 빠르기 때문에 yarn을 사용하고 있습니다.

728x90
Comments