NPM, NPX, Yarn

영훈·2024년 3월 12일
0

NPM

Node Package Manager, 노드 패키지 관리자.

  • JS로 작성되어 있다.
  • node.js를 설치하면 시스템에 설치된다.
  • Node 프로젝트의 필수 패키지 및 모듈은 npm install을 통해서 설치된다.

NPX(Node Package execute)

자바스크립트 패키지 관리 모듈, npm과는 다르다!

  • npm v5.2.0 에서 추가되어 기본 패키지로 제공 되었다.
  • npx는 npm 레지스트리에 있는 패키지를 더 쉽게 설치하고 관리하도록 도와주는 CLI 이다.
  • npm은 그 자체로 어떤 패키지로 “실행”하지 않는다.

NPX는 왜 등장했을까 ?

  • 의존성 라이브러리 들이 전역이나 로컬에 설치된 채 관리가 되면 어떤 문제가 있을까?
    • 만약 패키지가 업데이트 된다면?
    • 전역으로 , 로컬로 각각 관리되고 있는 패키지를 하나하나 업데이트하면 굉장히 번거울 것이다. 이러한 문제를 해결할 수 있는 것이 npx.

결론적으로 둘은 동일하지 않고, npm 은 패키지 관리자이며 전역적이며, npx는 패키지 실행자이며, 일회성에 가깝다.

출처 : (https://youngmin.hashnode.dev/npm-npx?source=more_series_bottom_blogs)
출처 : (https://80000coding.oopy.io/3adce195-8c34-4e0a-b1fe-5c44b0768bad)

Yarn

npm의 단점. 속도, 안정성, 보안성.

yarn은 기본적으로 npm의 단점을 느꼈기 때문에 이를 향상시키기 위해 만들어진 매니징 툴이다.

속도

yarn은 다운받은 패키지 데이터를 캐시(cache)에 저장하며, 중복된 데이터는 다운로드하지 않고, 캐시에 저장된 파일을 활용함으로써, npm에 비해 패키지 설치속도가 매우 빠르다.

안정성과 보안성.

npm 은 패키지가 설치될때 자동으로 코드와 의존성을 실행하게 했다.

반면, yarn은 yarn.lock 이나 package.json으로 부터 설치만 하면, yarn.lock 은 모든 디바이스에서 같은 패키지를 설치하는 것을 보장하기 때문에 버전의 차이로 인한 버그를 방지할 수 있다.

yarn 로그는 깨끗하고 시각적으로 구별 가능하며 간단하다.
이해를 돕기 위해 트리 형식으로 정렬된다.

npm은 거대한 커뮤니티, 접근성으로 인한 편리성과 확장성이라는 큰 장점을 가지고 있다.

출처 : (https://youngmin.hashnode.dev/npm-yarn)

profile
변경에 유연하면서, 확장하기 쉬운 코드를 짜고 싶어합니다.

0개의 댓글