본문 바로가기
사이드 프로젝트/개발몰입과정[2021_SUMMER]

1주차 개념 스터디 - npm(yarn)이란 무엇인가

by 의정부핵꿀밤 2021. 7. 31.
728x90

1. npm 이란?

- npm은 Node.js에서 사용 가능한 모듈들을 패키지화시켜 모아놓은 것으로, npm이란 이름은 "Node Package Manager"의 약자이다.

- 이는 노드의 모듈 패키지 관리 도구로써, 확장 모듈의 고나리를 쉽게 하게 도와준다.

- 현재는 Node.js를 설치만 해도 자동으로 npm이 설치되며, 노드의 기본 API를 이용하여 특정한 기능을 더욱 쉽게 구현이 가능하도록 API를 제공하기 때문에 노드 개발에서 꼭 필요한 존재이다.

 

2. npm을 통한 모듈 설치 방법

- "npm [명령어] [타겟 모듈 이름] [옵션]"

- "npm install [모듈명]"

- 버전 확인 : "npm -v"

- 최신 버전으로 업그레이드 : "npm install -g npm"

 

3. yarn 이란?

- 페이스북에서 만든 것으로 npm 서버에 비해 속도가 빠르고 npm과 사용법이 비슷하다.

- lock 파일은 Package.json에서 사용하는 버전 숫자들의 혼란을 줄여준다.

 

4. npm vs yarn

  장점 단점
npm - 유용한 패키지들을 받아서 쉽게 사용 가능
- 최대 규모의 패키지들을 보유하고 있음
- 저장소의 취약한 보안 이슈와 의존 패키지의 버저닝 이슈
- 패키지가 많아짐에 따라 빌드 성능이 떨어짐
yarn - 다운로드한 패키지를 캐싱하므로 재다운로드가 필요 없음 (오프라인도 가능)
- 운영을 병렬화하여 리소스 활용 극대화
- 체크썸을 통해 코드 실행 전 설치된 패키지의 무결성을 확인함
- 한 시스템에서 작동하는 설치가 다른 시스템에서 동일한 방식으로 작동하는 것을 보장
- Yarn.lock 파일의 버전 관리로 인해 기존 모듈이 최신화로 업데이트 될 수 있으며 이 경우 하위 호환을 보장하지 않는 모듈의 경우는 에러가 발생할 수 있다.

 

728x90

댓글