본문 바로가기

카테고리 없음

yarn vs. npm

반응형

1. 병렬 설치 여부에 따른 속도 차이

  • npm : 순차적 처리
  • yarn : 병렬 처리 -> 퍼포먼스, 속도 향상
  • 속도 차이: yarn > npm

 

2. Automatic Lock file generation(자동 lock 파일 생성)

  • 두 패키지 모두 프로젝트의 종속성과 버전 번호를 추적한다.
  • json 파일 종속성을 설치할 때마다 종속성 버전이 버전 번호 앞에 ^로 시작할 수 있다. 즉, 다른 시스템에 모든 패키지를 설치하거나 설치할 명령을 수동으로 실행할 때마다 패키지 관리자가 릴리즈된 최신 버전을 찾는다. -> 최신 버전이 있는 경우 패키지에 언급된 버전이 아니라 최신 버전으로 자동 설치된다.
  • 패키지를 자동으로 변경하지 않으려면 두 가지 방법이 있는데,
    1. 잠금 파일을 생성하여 한 번에 특정 버전만 설치되기
    2. 패키지 파일에 ^을 제거하기

종속성이 추가되면,

  • npm : npm shrinkwrap 명령어로 lock 파일을 생성함
  • yarn : yarn.lock 파일을 자동으로 추가함
  • 차이점 : npm이 기본적으로 lock파일을 생성하지 않지만, yarn은 항상 yarn.lock 파일을 생성하고 업데이트 함

 

3. 보안

  • npm : 다른 패키지를 즉시 포함시킬 수 있는 코드를 자동으로 실행하므로, 보안 시스템에 여러 취약성이 발생함
  • yarn : yarn.lock 또는 package.json 파일에 있는 파일만 설치함
  • 보안 강도: yarn > npm

 

4. 명령어

NPM과 YARN에서 다른 명령어

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]

NPM과 YARN에서 같은 명령어

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

 

 

 


참고 자료

https://developer0809.tistory.com/128

 

 

반응형