https://docs.google.com/presentation/d/1Fh3QF89-KoWQsrBWB4UiP6lvD3XAVcYUZxk5E7EluZA/edit?usp=sharing
패키지 매니저는 특정 프로젝트에 외부 패키지들을 설치하고 관리하는 역할을 하는 소프트웨어를 이야기한다.
여기서는 기존에 사용하던 패키지 매니저인 npm, npm 만큼이나 많이 사용되는 yarn, 그리고 떠오르는 신성 pnpm에 대해 설명한다.
npm(Node Package Manager)는 자바스크립트 런타임 환경(Node.js)의 기본 패키지 매니저이다.
크게 위의 두 가지 구성 요소가 있다.
Node.js 환경 내에서는 웬만한 어떤 패키지 매니저를 사용해도 결국 npm에 업로드된 패키지를 다운로드하여 관리하게 된다. 여기서는 패키지 매니저로서의 npm에 집중한다.
package.json
에 기술되어 있는 파일이나 디렉토리require()
문을 통해 로딩될 수 있는 모든 파일이나 디렉토리package.json
: 프로젝트에서 사용하는 패키지들을 정의한 파일node_modules
: Node.js가 모듈을 사용할 때 해당 모듈을 찾는 디렉토리이다. package.json
을 통해 npm에서부터 다운로드받은 패키지들이 저장되어 있다.package-lock.json
: package.json
에 정의된 패키지들의 정확한 버전 정보를 담고 있는 파일이다.