본문 바로가기

카테고리 없음

[Node] npm 이란? npm 설치 방법과 사용방법, yarn

728x90

1. npm 이란?

 

 

npm(Node Package Manager)은 라이브러리를 관리하는 역할을 한다.

npm을 통해 다양한 노드 모듈(node module)을 다운로드할 수 있고, 버전을 관리할 수도 있다.

 

1) npm 설치 방법

 

npm -v

 

npm은 node를 다운로드하면 자동으로 설치된다.

위 명령어를 통해 현재 설치된 npm 버전을 확인할 수 있다. 

 

 

2) npm 명령어

 

 ① npm init

npm init

 

npm init은 package.json을 생성할 때 사용한다.

 

 

//package.json
{
  "name": "test",  //프로젝트 이름
  "version": "1.0.0",  //프로젝트 정보
  "description": "test-project",  //프로젝트 설명
  "main": "app.js", //main 파일 설정하지 않으면 Index.js가 기본으로 설정됨)
  "scripts": {  //script 명령
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app",
    "jaeeun": "node app"
  },
  "keywords": [  //프로젝트 키워드
    "test"
  ],
  "author": "jaeeun",  //만든 사람
  "license": "ISC"  //라이선스
}

 

package.json은 프로젝트의 버전 정보, 사용 중인 아리브러리 정보 해당 플랫폼의 정보가 들어있는 파일이다.

 

scripts에서 start를 node app으로 지정해 놓으면, npm start를 입력했을 때 node app이 실행된다.

마찬가지로 npm jaeeun을 입력하면 node app이 실행된다.

 

 

 

② npm install

 

npm install 라이브러리이름

 

npm install 명령어를 사용하면, 라이브러리를 다운로드할 수 있다.

npm i로 축약해서 사용하기도 하며, 라이브러리 이름을 따로 지정하지 않으면 package.json에 있는 라이브러리가 모두 다운로드된다.

 

 

 

③ npm uninstall

 

npm uninstall 라이브러리이름

 

npm uninstall은 설치된 라이브러리를 삭제할 때 사용한다.

 

 

 

④ npm update

 

npm update 라이브러리이름

 

npm update는 설치된 라이브러리의 버전을 업데이트할 때 사용한다.

npm un으로 축약해서 사용하기도 한다.

 

 

 

⑤ npm outdated

 

npm outdated

 

npm outdated는 업데이트가 필요한 라이브러리가 있는지 확인하는 명령어이다. 

 

 

* npm --save는 5v부터 사용하지 않는다.

 

 

 

2. Yarn

 

Yarn은 페이스북에서 개발한 자바스크립트 패키지 매니저이다.

npm과 비슷한 기능을 가지고 있지만, npm보다 yarn의 성능과 보안이 더 뛰어나다.

패키지 순서대로 설치하는 npm과 달리 패키지를 병렬적으로 설치하며, 캐싱을 이용한다.

 

 

1) yarn 설치방법

 

npm i yarn

 

yarn은 npm을 통해 설치 가능하다.

 

 

yarn --v

 

설치가 완료되면 npm과 같이 -v를 통해서 해당 버전을 확인할 수 있다.

 

 

 

2) yarn 명령어

 

① yarn init

 

yarn init

 

package.json을 생성할 땐, npm과 똑같이 yarn init을 사용한다.

 

 

 

yarn add

 

yarn add 라이브러리이름

 

yarn은 add 명령어를 통해 라이브러리를 설치한다.

 

 

 

 yarn remove

 

yarn remove 라이브러리이름

 

설치한 라이브러리를 삭제할 땐, yarn remove를 사용하면 된다.

 

 

 

 

 

728x90