본문 바로가기
Study

[STUDY] NodeJS - 01. NPM / YARN

by 물코더 2022. 6. 22.

 

NodeJS - 01. NPM / YARN

  • 크롬 V8 Javascript 엔진으로 빌드 된 Javascript 런타임(플랫폼)
반응형

 

 

Node.js 특징

· 이벤트 기반(Event-Driven)

- libuv 라이브러리를 사용

- 이벤트 발생 시 사전에 정의한 작업(콜백함수)을 실행하고 이벤트가 종료되면 대기

※ 동시에 여러 이벤트가 발생하는 경우 이벤트 루프(Event loop)에 의해 작업(콜백 함수) 호출 순서 및 실행

 

· 비동기 I/O 모델 (Non-Blocking I/O Model)

- Node.js 라이브러리의 모든 API 처리는 비동기 방식으로 실행

 

· 단일 스레드(Single Thread)

- 단일 스레드 기반 이지만, Non-Blocking Model 방식(이벤트 루프)을 채택하고 있는 Node.js 는 제한적인 스레드를 생성하는 웹 서버(Apache) 보다 단일 스레드지만 더 많은 요청을 처리

※ 단 Node.js는 단일 스레드로 CPU 부하가 큰 작업에는 부적합

// @Example. Node.js 업데이트
// node js 현재 버전 확인
$node -v 
// npm 캐시 제거 
$npm cache clean -f
// node js 버전 관리 (n) 모듈 설치
$npm install -g n 
// node js 버전 관리 (n) 모듈 통해 업데이트
n stable // 안정 버전
n lts // 최신 버전
n latest // lts 버전
n _VER_ // 특정 타겟 버전

 

 

 

NPM과 YARN

· 패키지 관리 툴

※ package.json 파일은 프로젝트 정보 및 의존성(dependencies) 관리하는 문서로, 동일한 개발 환경 구축에 편의성을 제공

※ 참조 : https://docs.npmjs.com/


NPM


YARN
· Node Package Manager
· Javascript 언어를 위한 기본 패키지 관리자
· 페이스북(Facebook)에서 만든 Node Package Manager
· npm과 동일한 기능을 하지만 속도(performance), 안정성(stability), 보안성(security) 면에서 npm 보다 이점을 제공
npm init
package.json 생성
yarn init
package.json 생성
npm install (npm i)
package.json 파일 및 종속된 모든 모듈 설치
yarn install (yarn i)
package.json 파일 및 종속된 모든 모듈 설치
npm install package_name@_VER_
패키지(package_name )의 특정 버전(_VER_) 설치
yarn add package_name@_VER_
패키지(package_name )의 특정 버전(_VER_) 설치
npm install -g package_name 
전역 설치. 로컬 상태 다른 프로젝트도 해당 패키지(package_name)를 사용 가능
yarn add global package_name
전역 설치. 로컬 상태 다른 프로젝트도 해당 패키지(package_name)를 사용 가능
npm install package_name
특정 저장소의 패키지 설치
yarn add package_name
특정 저장소의 패키지 설치
npm uninstall package_name
패키지 삭제
yarn remove package_name
패키지 삭제
npm update package_name
패키지 업데이트
yarn upgrade package_name
패키지 업데이트
npm dedupe
중복 설치된 패키지 정리
yarn dedupe
중복 설치된 패키지 정리

 

YARN 장점

속도 (performance)

  • yarn은 다운로드 받은 패키지를 캐시(cache)에 저장하여 중복되는 패키지(데이터)는 다운로드 하지 않고 캐시에 저장된 패키지(데이터)를 재사용하고, 여러 패키지를 설치할 경우 병렬로 처리하기 때문에 순차적으로 처리하는 npm에 비해 속도가 증가

안정성(stability)/보안성(security)

  • yarn은 yarn.lock 또는 package.json 으로 부터 설치만 하고, yarn.lock은 모든 디바이스에 같은 패키지 설치를 보장하므로 패키지의 버전 차이로 인한 오류를 방지

 

 

NPX

  • · npm 5.2^ 버전부터 포함된 모듈
  • · 기존 npm을 통해 로컬에 설치(install)된 모듈만 실행시킬 수 있었지만 npx를 통해 모듈을 로컬에 저장하지 않고 매번 최신 버전의 파일만 임시로 불러와 실행 시키고 다시 파일은
    없어지는 방식으로 모듈을 실행할 수 있게 됨

 

반응형

'Study' 카테고리의 다른 글

[STUDY] NodeJS - 02. EXPRESS  (0) 2022.06.22
[STUDY] NodeJS - 01. NPM / YARN : JEST  (0) 2022.06.22
[STUDY] JS - 02. Javascript MVC  (0) 2022.06.22
[STUDY] JS - 01. Javascript 란  (0) 2022.06.22
[STUDY] WEB - 02. 웹 구축 및 구동 방식  (0) 2022.06.17

댓글