npm
자바스크립트 언어를 위한 패키지 관리자로, Node.js의 기본 패키지 관리자(Node.js에 기본 내장)이다.
command-line client인 npm과 온라인 데이터베이스인 npm registry로 이루어져 있다.
일반적으로 command-line client를 npm이라고 볼 수 있으며 실제로 npm에는 npm registry까지 포함되어 있다.
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 : 중복 설치된 패키지들을 정리해주는 명령어
yarn
페이스북에서 만든 자바스크립트 패키지 매니저로,
npm에 비해 속도(performance), 안정성(stability), 보안성(security)에 유리하다.
- 속도
yarn은 다운받은 패키지 데이터를 캐시(cache)에 저장하여, 중복된 데이터는 다운로드하지 않고
캐시에 저장된 파일을 활용해 npm에 비해 패키지 설치속도가 매우 빠르다.
또한 npm은 패키지를 한번에 하나씩 순차적으로 설치하는 데 비해, yarn은 여러 패키지를 동시에 가져와 설치하도록 돼 있어 속도가 더 빠르다. - 안정성 / 보안성
npm은 패키지가 설치될 때 자동으로 코드와 의존성(패키지에 포함된 다른 패키지 코드 실행 가능)을 실행할 수 있는데, 이는 편리한 기능이지만 안정성을 위협할 수 있다.
특히 보장된 정책 없이 등록한 패키지가 존재할 수 있다는 점에서 더욱 위험도가 높다.
반면 yarn은 yarn.lock이나 package.json에 있는 파일만 설치하며,
yarn.lock은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하기 때문에 버전 차이로 인해 생기는 버그를 방지해줄 수 있다.
다만 최근 npm 업데이트에서도 보안성이 향상되었다고 한다.
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 : 설치한 패키지들을 업데이트
- yarn dedupe : 중복 설치된 패키지들을 정리해주는 명령어
참고한 글
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript] splice()와 slice() (0) | 2021.03.23 |
---|---|
[JavaScript] 이벤트 처리(event handling) (0) | 2020.09.13 |
[JavaScript] DOM 및 Form 객체 (0) | 2020.09.13 |
[JavaScript] 함수 (0) | 2020.09.13 |
[JavaScript] 문장(Statement) (0) | 2020.09.13 |
댓글