<aside> 📖

목차

</aside>

npm

Npm은 Node Package Manager이란 뜻이다.

node.js를 설치하면 자동으로 node의 패키지 관리자인 npm도 같이 설치된다.

과거에는 npm의 속도가 yarn에 비해 많이 느리고, 개발자들 간의 버전이 동일할 수 없다는 문제점이 있었지만, 이 글을 쓰는 시점인 2024.11에는 많이 개선된 편이다.

기능

기본적으로 패키지 설치, 업데이트, 삭제, 스크립트 실행 등 기본적인 패키지 관리자의 기능을 수행한다.

package.json 파일을 사용해 의존성을 정의하고, package-lock.json 파일을 통해 설치된 패키지의 정확한 버전을 저장한다. 이로 인해, 개발자들간의 모듈 버전 차이가 없는 것이다.

로컬 캐시에 패키지를 저장한다. 하지만 캐시 관리는 yarn에 비해 부실할 수 있다.

명령어

npm init -y  // 초기의 package.json 파일을 만듦
npm install  // package.json에 패키지에 있는 모든 모듈 설치
npm install 패키지-이름  // 특정 패키지의 특정 버전 설치
npm remove 패키지-이름  // package.json에 있는 패키지 제거
npm update  // 설치한 패키지들을 최신버전으로 업데이트
npm dedupe  // 중복된 패키지를 정리

yarn

yarn은 버전에 따라서 부르는 이름이 조금 다르다. v1은 yarn classic, v2이상은 yarn berry 라고 부른다. 버전 별 차이에 대해서도 추가로 기록해보자.

yarn classic

패이스북이 만든, npm의 단점(속도, 안정성, 보안성)을 보완하기 위해 만든 매니저 툴이다.

기능

패키지 설치, 업데이트, 삭제, 스크립트 실행 등의 기본 기능을 제공하며, npm과 호환된다.

package.json과 함께 yarn.lock 파일을 사용하여 설치된 패키지의 버전을 정확히 기록한다. yarn.lock파일이 먼저 나왔지만 package-lock.json과 같은 역할을 한다고 보면 된다.

로컬 캐시에 패키지를 저장하고 이를 적극 활용하기 때문에 설치 속도가 빠르다. 또한, 여러 개의 패키지를 설치하는 경우, 병렬로 처리하기 때문에 빠르다.