npm과 yarn

heejung·2022년 1월 12일
0

node로 프로젝트를 진행할 때 많이 쓰이는 패키지 관리 툴로는 대표적으로 npm과 yarn이 있다.

npm

Node.js의 기본 패키지 관리자이다. 전세계적으로 가장 많은 이들이 사용하고 있는 패키지 관리 툴로, Node.js로 만들어진 모듈을 웹에서 받아서 쉽게 설치하고 관리할 수 있다.

npm 명령어

  • npm init : package.json 생성
  • npm install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
  • npm install package_name@버전 : 특정 패키지의 특정 버전 설치
  • npm install 주소 : 특정 저장소 내 패키지 설치 (주로 github을 이와 같이 설치)
  • npm install package_name -g : 로컬의 다른 프로젝트도 이 패키지를 사용 가능하게 함
  • npm uninstall : 패키지 삭제
  • npm update : 설치한 패키지들을 업데이트
  • npm dedupe : 중복 설치된 패키지들을 정리

package.json은 프로젝트 정보와 의존성(dependencies)을 관리하는 문서이다. 우리가 어떤 패키지(오픈소스)를 사용하는지, 어떤 버전을 사용하는지 등을 기록함으로써 어느 곳에서도 동일한 개발 환경을 구축할 수 있게 해준다.




yarn

페이스북에서 만든 자바스크립트 패키지 매니저이다. npm과 같은 기능을 수행하지만, npm의 단점을 보완하여 만든 매니저 툴이다. npm, brew를 통해 설치할 수 있다.

속도

yarn은 다운받은 패키지 데이터를 캐시(cache)에 저장하여 중복된 데이터는 다운로드하지않고, 캐시에 저장된 파일을 활용한다. 또한 여러개의 패키지를 설치할 때 병렬로 처리하기 때문에 npm(순차적)에 비해 패키지 설치속도가 빠르다.

안정성 및 보안성

npm은 패키지가 설치될 때 자동으로 코드와 의존성을 실행할 수 있도록 허용하는 반면, yarn은 yarn.lock이나 package.json에 있는 것만 설치하기 때문에 안정성, 보안성 면에서 npm보다 우수하다. 또한 yarn.lock은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하므로 버전의 차이로 인해 생기는 버그를 방지할 수 있다.
그러나 최근 npm의 업데이트로 npm의 보안성이 크게 향상되어 현재는 npm이나 yarn이나 큰 차이가 없다.

yarn 명령어

  • yarn init : package.json 생성
  • yarn or yarn install : package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
  • yarn add package_name@버전 : 특정 패키지의 특정 버전 설치
  • yarn add 주소 : 특정 저장소 내 패키지 설치 (주로 github를 이와 같이 설치)
  • yarn global add package_name : 로컬의 다른 프로젝트도 이 패키지를 사용 가능하게 함
  • yarn remove : 패키지 삭제
  • yarn upgrade : 설치한 패키지들을 업데이트
  • npm dedupe : 중복 설치된 패키지들을 정리
profile
프론트엔드 공부 기록

0개의 댓글