[JS] npm과 yarn

Yoongja·2022년 5월 29일
post-thumbnail

🧐npm

node package manager의 약자이다.
Node.js로 만들어진 모듈을 웹에서 받아 설치하고 관리해주는 프로그램이며, 온라인 데이터베이스로 이루어져 클라이언트를 통해 접근 가능하다.
npm이 없었을 때에는 필요로 하는 기능을 추가하기 위해 직접 작성하거나 github를 통해 다운로드하여 사용해야 했다.
이제는, 단 몇줄의 command로 기존 공개된 모듈들을 설치하고 활용할 수 있다. 이를 통해 JS로 진행하는 프로젝트를 편하게 진행 할 수 있다.

✌️ npm 명령어

npm init package.json 생성
npm install package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
npm install package_name@버전 특정 패키지의 특정 버전 설치
npm install 주소 특정 저장소 내 패키지 설치
npm uninstall 패키지 삭제 명령어
npm update 설치한 패키지들을 업데이트한다
npm dedupe 중복 설치된 패키지들을 정리해주는 명령어

npm의 장점과 단점

장점 단점
    유용한 패키지들을 받아서 손쉽게 사용가능하다.

    세계 최대 규모의 패키지들을 보유하고 있으며, 노드 생태계를 견고하게 해줌
    저장소의 취약한 보안이슈, 의존 패키지의 버저닝 이슈

    패키지가 많아짐에 따라 빌드 성능이 떨어짐

🧐 yarn

페이스북에서 만든 js 패키지 매니저이다.
npm서버에 비해 속도가 빠르고, npm과 사용법이 비슷하다.

✌️ yarn 명령어

yarn init package.json 생성
yarn or yarn install package.json 파일 및 해당 종속성에 나열된 모든 모듈을 설치
yarn add package_name@버전 특정 패키지의 특정 버전 설치
yarn add주소 특정 저장소 내 패키지 설치
yarn remove 패키지 삭제 명령어
yarn upgrade 설치한 패키지들을 업데이트
npm dedupe 중복 설치된 패키지들을 정리

yarn의 장점
🤍 속도
yarn은 다운받은 패키지 데이터를 캐시(cache)에 저장하여, 중복된 데이터는 다운로드하지않고, 캐시에 저장된 파일을 활용함으로써 이론적으로 npm에 비해 패키지 설치속도가 매우 빠릅니다. 또한 여러개의 패키지를 설치할 때 병렬로 처리하기 때문에 performance와 speed가 증가 됩니다
🤍 안정성/보안성
yarn은 yarn.lock이나 package.json으로 부터 설치만 하며, yarn.lock은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하기 때문에 버전의 차이로 인해 생기는 버그를 방지해줄 수 있습니다.

profile
Belief in the possibility

0개의 댓글