Notice
Recent Posts
Recent Comments
개발일지
[node.js] npm vs. yarn 본문
node 패키지를 설치할 때 npm 을 쓰는 사람도 있고 yarn 을 쓰는 사람이 있어 두개의 차이점이 뭔지 궁금하여 찾아본김에 정리해본다.
일단 우리팀은 yarn 을 사용한다.
npm; node package manager
yarn: 페이스북에서 만든 자바스크립트 패키지 매니저
아래와같이 속도, 안정성, 보안성의 차이점이 약간씩 있는것 같다.
1. Performance 속도
yarn: 다운받는 패키지 데이터를 캐시에 저장해 중복된 데이터는 다운받지 않고 캐시에 저장된 파일을 활용함으로써 이론적으로 npm에 비해 패키지 설치속도가 매우 빠르다. 여러개의 패키지를 설치할 때에는 병렬로 처리하기 때문에 속도가 빠르다.
npm: 여러개의 패키지를 설치할 때 순차적으로 설치한다.
2. 안정성, 보안성
yarn: yarn.lock 이나 package.json 으로부터 설치만 하여 yarn.lock 은 모든 디바이스에 같은 패키지를 설치하는 것을 보장하기 때문에 버전차이로 생기는 버그를 방지할 수 있다.
npm: 설치될때 자동으로 코드와 의존성을 실핼할 수 있게 허용해준다. 편리한 기능이지만 보장된 정책없이 등록한 패키지가 존재할 수 있다는 점에서 위험도가 높다.
** 우리팀은 yarn 이 npm 보다 약간 성능이 빠르고 버전관리가 용이하기때문에 사용하는 것이라고한다.
<yarn, npm 다른 명령어>
Command | NPM | YARN |
Install dependencies | npm install | yarn |
Install package | npm install [package] | yarn add [package] |
Install dev package | npm install --save-dev [package] | yarn add --dev [package] |
Uninstall package | npm uninstall [package] | yarn remove [package] |
Uninstall dev package | npm uninstall --save-dev [package] | yarn remove [package] |
Update | npm update | yarn upgrade |
Update package | npm update [package] | yarn upgrade [package] |
Global install package | npm install --global [package] | yarn global add [package] |
Global uninstall package | npm uninstall --global [package] | yarn global remove [package] |
<yarn, npm 같은 명령어>
NPM | YARN |
npm init | yarn init |
npm run | yarn run |
npm test | yarn test |
npm login (and logout) | yarn login (and logout) |
npm link | yarn link |
npm publish | yarn publish |
npm cache clean | yarn cache clean |
'javascript > node.js' 카테고리의 다른 글
[node.js] package.json, package-lock.json (0) | 2021.11.22 |
---|