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
'사이드 프로젝트 > 개발몰입과정[2021_SUMMER]' 카테고리의 다른 글
1주차 개념 스터디 - Node.js의 BE 또는 FE Library / Framework (0) | 2021.08.01 |
---|---|
1주차 개념 스터디 - 'REST API'란 무엇인가 (0) | 2021.07.31 |
1주차 개념 스터디 - 라이브러리와 프레임워크의 차이 (0) | 2021.07.31 |
1주차 개념 스터디 - 정적 타입 언어 vs 동적 타입 언어 (0) | 2021.07.31 |
1주차 개념 스터디 - node.js란 무엇인가 (0) | 2021.07.31 |
댓글