article thumbnail image
Published 2022. 5. 5. 20:44
728x90
 

install | npm Docs

Download and install node and npm

docs.npmjs.com

📖 npm

npm이란?

개념 정리

Node.js Package Manager의 약자입니다.

 

Node.js로 만들어진 패키지을 웹을 통해 쉽게 설치하고 관리해주는 프로그램입니다.

 

간단한 명령어로 기존에 공개된 패키지(node_modules)을 설치할 수 있습니다.

 

package.json을 통해 설치된 패키지의 업데이트 버전을 쉽게 확인 가능하며, build를 통해 파일크기를 줄여 웹 속도를 향상하는 등 JavaScript를 이용한 프로젝트를 개발하는데 편리성을 제공합니다.

 

npm 설치

Node.js를 설치하면, 자동으로 npm이 설치가 된다.

Node.js를 설치하고, npm이 정상적으로 설치되었는지는 아래와 같은 명령어를 cmd에 입력하면 된다.

# cmd
npm -v

 

명령어

대표적인 npm 명령어입니다.

# VS Code Powershell
npm init : package.json 생성
npm install : package.json 파일 및 해당 종속성에 나열된 모든 패키지를 설치
npm install 패키지_이름@패키지_버전 : 특정 패키지의 특정 버전 설치
npm install 설치주소 : 특정 저장소 내 패키지 설치. 주로 github을 이와 같이 설치합니다.
npm uninstall : 설치된 패키지 삭제 명령어
npm update : 설치된 패키지들 업데이트
npm dedupe : 중복 설치된 패키지들 정리

 

옵션

npm 명령어 사용시 추가로 작성할 수 있는 옵션입니다.

# VS Code Powershell
# 패키지 설치시 사용하는 옵션
-g 또는 --global : 특정 패키지를 로컬의 다른 프로젝트들도 해당 패키지 사용 가능
# 예시 : npm install -g 특정_패키지_이름

 

package.json이란?

개념 정리

프로젝트의 정보, 사용하는 패키지, 사용하는 패키지의 버전 등 해당 프로젝트가 의존하는 패키지(모듈들)를 알려준다.

 

package.json은 팀 프로젝트를 진행하는데 도움이 된다.

기존에 개발되어있던 프로젝트를 새로운 사람이 개발하려고 할때, package.json을 참고하여 해당 프로젝트가 만들어진 패키지를 동일하게 맞출 수 있다.

 

기본 속성

json파일은 속성(field)-값의 쌍으로 이루어져있다.

 

기본으로 생성되는 package.json의 속성은 다음과 같다.

{
  "name": "PROJECT_DIRECTORY",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

 

"name" : 해당 프로젝트의 이름이며, 패키지의 고유성을 판별하는데 사용한다. 또한 명명 규칙을 따른다.

  • 소문자로 작성
  • 한 단어로 작성
  • 하이픈이나, 언더스코어 사용가능

"version" : 패키지의 고유성을 판별하는데 사용한다.

 

※ "name"과 "version"을 통해 패키지의 고유성을 판별하여, 패키지를 설치할 수 있다.

이 부분이 누락되면 기존에 만들어진 프로젝트를 package.json을 참고하여 패키지가 설치하려고해도 설치가 되지 않는다.

 

"description" : package에 대한 설명문이다.

 

"scripts" : npm 명령어를 지정할 수 있다.

  • 예시 : npm start, npm build

"keyword" : 패키지의 진입점이 되는 패키지의 ID이다.

 

"author" : 배포를 진행한 사람을 나타낸다.

 

"license" : 배포할 패키지의 권한과 제한 사항을 알려준다.

 

"contributors" : 배포를 한 사람 이외에 프로젝트에 기여한 사람을 나타낸다. 배열 안에 객체로 표현하여 사용한다.

  • 예시 : contributors: [ {"name" : "Johan", "url" : "https://github.com/johan1234"}, ... ]

 

dependencies

프로젝트 개발시 어떠한 패키지를 사용하고 있고, 서비스 운영시 사용할 패키지를 나타냅니다.

즉, 패키지 배포 시 포함될 의존성 패키지를 나타냅니다.

 

해당 프로젝트가 어떤 패키지를 가지고 있어야, 해당 프로젝트를 정상적으로 실행가능한지 나타내주는 명세서입니다.

즉, 협업을 할때와 같이 여러사람이 프로젝트를 진행할때, 팀 내에서 동일한 개발환경을 구축하도록 도와준다.

 

{
  "dependencies": {
    "hexo": "5.0.0",			# 5.0.0 버전과 정확히 일치하는 버전
    "hexo": ">5.0.0",			# 5.0.0 버전보다 큰 버전
    "hexo": ">=5.0.0",			# 5.0.0 버전보다 크거나 같은 버전
    "hexo": "<5.0.0",			# 5.0.0 버전보다 작은 버전
    "hexo": "<=5.0.0",			# 5.0.0 버전보다 작거나 같은 버전
    "hexo": ">=1.0.0 <=5.0.0",		# 1.0.0 버전보다 크거나 같은 버전에서 5.0.0버전보다 작거나 같은 버전
    "hexo": "~5.0.0",			# 5.0.0 버전과 근사한 버전
    "hexo": "^5.0.0",			# 5.0.0 버전과 호환되는 버전
    ...
  }
}

 

dependencies에 적기 위한 방법은 패키지를 설치하면 자동으로 작성됩니다.

패키지를 설치하려는 명령어는 다음과 같습니다.

# VS Code Powershell
npm install 패키지_이름

 

devDependencies

프로젝트 개발시 어떠한 패키지을 사용하고 있고, 개발에만 사용할 패키지만 나타냅니다.

즉, 패키지 배포 시 포함되지 않습니다.

 

devDependencies에 적기 위한 방법은 패키지를 설치할때 개발에만 사용한다고 옵션을 지정하면 됩니다.

# VS Code Powershell
# 옵션
--save-dev 또는 --D : devDependencies에 작성하여 특정 패키지를 개발에만 사용한다고 명시하기

 

옵션을 추가하여 패키지를 설치하는 명령어는 다음과 같습니다.

# VS Code
npm install --save-dev 패키지_이름

# 또는 축약 옵션 사용
npm install -D 패키지_이름

'공부 > 공통' 카테고리의 다른 글

[공부] 나만의 코딩 컨벤션 (react)  (0) 2022.05.14
[공부] 코딩 컨벤션 (기본)  (0) 2022.05.12
[공부] Git 정리 - 팀 프로젝트  (0) 2022.05.02
[공부] git 정리 -3  (0) 2022.03.06
[공부] git 정리 -2  (0) 2022.03.04
복사했습니다!