npm vs yarn

2024. 4. 29. 16:35·개발 지식
목차
  1. npm과 yarn
  2. npm
  3. yarn
  4. 차이점
  5. npm과 yarn의 명령어
  6. 결론

npm과 yarn

npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자
  • 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능
  • 명령 줄 인터페이스(Command-line interface, CLI)를 통해 패키지 설치 및 삭제뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있다.

 

패키지란?

특정 기능이나 목적을 위한 코드 묶음
  • 모듈화와 코드 재사용성을 증가시켜 의존성 관리를 용이하게 한다.
  • 특히 패키지를 사용할 때 다운로드, 업데이트, 의존성 관리 등 복잡한 상황이 생길 수 있는데, 패키지 매니저를 이용하면 이러한 과정을 자동화하여 편리하게 만들어준다.

 

npm

노드 패키지 매니저(Node Package Manager) 의 약자로 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자

  • npm 툴을 이용하여 사람들이 노드 패키지를 만들고, 업로드하고, 공유할 수 있어 누구나 온라인 플랫폼(npm 레지스트리) 에 게시된 패키지 사용 가능
  • 명령 줄 인터페이스를 사용하며 패키지 설치 및 제거가 가능

 

🛠️ 설치

노드를 다운로드하면 npm이 시스템에 자동으로 설치

$ node -v
$ npm -v

 

yarn

2016년 페이스북에서 npm의 보안 및 성능 문제 등을 개선하여 npm을 대체하기 위해 개발된 새로운 패키지 관리자

  • npm과 같은 기능을 수행하나, npm 레지스트리와 호환하면서 속도나 안정성 측면에서 npm보다 향상

 

🛠️ 설치

npm을 통해 설치

$ npm install yarn --global

 

맥 사용자라면 brew를 통해 설치 가능

$ brew update
$ brew install yarn

 

 


차이점

1. 속도

npm과 yarn의 주요 차이점 중 하나는 패키지 설치 프로세스를 처리하는 방법

  • npm은 패키지를 한 번에 하나씩 순차적으로 설치
  • yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 yarn이 npm보다 빠르다.

하지만 최근에는 아주 근소한 차이로 yarn이 더 빠르다.

 

2. 보안

yarn이 보안 측면에서 npm보다 더 안전한 것으로 알려져 있다.

  • npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하는데, 이 특징은 편리하지만, 안정성을 위협할 수 있다. 이로 인해 보안 시스템에 몇 가지 취약성이 발생하기도 하며 나중에 심각한 문제가 발생할 수도 있다.
  • yarn은 yarn.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 [패키지명]

 

결론

  • npm과 yarn은 모두 종속성을 관리하고 패키지를 관리하기 좋은 툴
  • 둘 다 지속적으로 관리되고 있고, 폭넓은 사용자 커뮤니티를 가지고 있으며 업데이트를 통해 추가된 기능 덕분에 거의 차이가 나지 않음

✅ 개인의 취향, 성능(패키지 설치 속도) 등을 고려해서 둘 중에 골라서 선택하면 됨 !

728x90
반응형

'개발 지식' 카테고리의 다른 글

화면 설계 용어  (0) 2024.03.31
클린코드와 리팩토링  (0) 2024.03.27
  1. npm과 yarn
  2. npm
  3. yarn
  4. 차이점
  5. npm과 yarn의 명령어
  6. 결론
'개발 지식' 카테고리의 다른 글
  • 화면 설계 용어
  • 클린코드와 리팩토링
nueos
nueos
  • nueos
    nueos 공부 기록
    nueos
  • 전체
    오늘
    어제
    • 분류 전체보기 (191)
      • 해커톤 (1)
      • 네이버 BoostCamp (6)
      • LG 유플러스 유레카 SW (3)
        • React (21)
        • TypeScript (2)
        • JavaScript (2)
        • HTML+CSS (5)
        • Spring (7)
        • Java (6)
        • SQL (2)
        • Algorithm (8)
        • CX (6)
        • Git (2)
        • 프로젝트 (2)
        • 스터디 (9)
        • 과제 (8)
        • 특강 (1)
      • React (3)
      • Next (0)
      • Javascript (2)
      • HTML (2)
      • CSS (9)
      • Algorithm (6)
      • Database (0)
      • OS (13)
      • C++ (24)
      • Python (1)
      • jQuery (1)
      • Django (1)
      • Git (1)
      • 개발 지식 (3)
      • 정보 보안 (22)
      • 포렌식 (1)
      • 암호 (2)
      • 기타 (4)
      • 패스트캠퍼스 FE 프로젝트십 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    디지랩챌린지
    heap
    디지털혁신
    큐
    Queue
    exhaustive search
    제주해커톤
    기술로바꾸는세상
    제주지역혁신플랫폼지능형서비스사업단
    스택
    완전 탐색
    힙
    Stack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
nueos
npm vs yarn
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.