npm VS yarn ?

박두팔이·2024년 1월 30일
0

자바스크립트 패키지 매니저 (Javascript Package Manager)

npm과 yarn은 자바스크립트 패키지 매니저이다.

  • 패키지란, npm에 업로드된 노드 모듈을 의미한다.
  • 다양한 자바스크립트 프로그램이 패키지라는 이름으로 npm에 등록되어 있고, 패키지가 다른 패키지를 사용할 경우 의존 관계를 갖는다.
  • 패키지들을 사용하기 위해서는 다운로드, 설치, 업데이트, 의존성 관리, 제거 등 복잡한 상황들이 발생한다.
  • 패키지 매니저는 이러한 과정들을 자동화하여 편리하고 안전하게 수행할 수 있도록 돕는다.

npm

  • '노드 패키지 매니저'이다.
  • 런타임 동안 노드 환경에서 쓰이는 다양한 패키지들을 관리한다.
  • npm은 npm registry라고 불리는 공개적인 패키지들로 구성된 데이터베이스를 갖고있다.

yarn

  • yarn은 npm의 부족한 부분들을 개선하기 위해 Facebook에서 개발되었다.
  • npm구조에 동일하게 의존한다.
  • 패키지 레지스트리에 대한 것은 바뀌지 않고, npm과 설치 절차가 바뀌었다.

npm VS yarn

npm과 yarn은 모두 Node.js 환경에서 사용되는 패키지 관리자이며, 모던 웹 개발에서 중요한 역할을 한다. 그러나 Google SEO 관점에서 볼 때, 이들 간의 차이는 직접적인 SEO 영향보다는 개발 프로세스와 성능에 더 큰 영향을 미친다.

속도와 성능

  • yarn:

    • yarn은 병렬 패키지 설치 기능을 제공하여 npm보다 빠른 설치 속도를 가졌다.
    • 이는 특히 대규모 프로젝트나 CI/CD 파이프라인에서 빌드 시간을 단축시키는 데 유리하며, 간접적으로 개발 효율성과 사이트 출시 속도에 영향을 줄 수 있다.
  • npm:

    • npm은 버전 5 이후로 상당히 속도가 개선되었고, package-lock.json 파일을 통해 정확한 버전의 의존성을 관리한다.
    • npm은 Node.js와 함께 자동으로 설치되므로 추가 설치 과정이 필요 없다.

보안

  • yarn:

    • yarn은 yarn.lock 파일을 사용하여 설치된 패키지의 정확한 버전을 추적한다, 이는 보안성 향상에 기여할 수 있다.
    • 또한, yarn은 체크섬을 사용하여 패키지의 무결성을 검증한다.
  • npm:

    • npm v6부터는 npm audit 명령어를 통해 프로젝트 의존성의 보안 취약점을 자동으로 검사하고 보고한다.
    • 이는 개발자가 보안 문제를 식별하고 수정할 수 있게 하여, 최종 사용자에게 안전한 웹 경험을 제공하는 데 도움이 된다.

사용 편의성

  • yarn:

    • yarn은 사용자 친화적인 메시지와 보다 직관적인 에러 로깅을 제공한다.
    • yarn why 같은 명령어를 통해 특정 패키지가 프로젝트에 포함된 이유를 파악할 수 있다.
  • npm:

    • npm은 널리 사용되며, 많은 Node.js 개발자들이 사용한다.
    • npm의 문서화와 커뮤니티 지원이 많다.

npm과 Yarn중 어떤 실행 엔진을 선택할 것인가?

Yarn에도 단점이 있다. 디스크 용량을 좀 더 많이 잡아먹는 편이다. yarn은 속도나 보안성 측면에서 npm보다 개선되었지만 용량을 많이 필요로한다.

npm도 개선된 버전이 계속 나오면서 속도는 yarn과 차이가 없다. 효율성 측면에서 많은 장점이 있으니 취향대로 선택하면 된다.


profile
기억을 위한 기록 :>

0개의 댓글