package.json 이란?

Yoon·2024년 1월 30일
0

node.js

목록 보기
6/8

0. package.json 이란?

package.json이란 현재 프로젝트에 관한 정보와 패키지 매니저(npm, yarn)을 통해 설치한 모듈들의 의존성을 관리하는 파일이다.

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

이름처럼 JSON 포맷으로 이루어져 있다.


1. 생성방법

npm init // 프로젝트명, 설명 등 작성할 내용이 있을 경우
npm init -y // 입력할 내용없이 package.json 생성

yarn init
yarn init -y

2.package.json의 기본 정보

기본 정보란 package.json을 자동으로 생성할 때(npm init), -y 명령어를 붙이지 않은 경우 입력하게 되는 것들을 나타낸다.
name, version, description, author, license 등을 입력할 수 있는데, 프로젝트에 대한 간략한 내용을 입력할 수 있다. 처음 생성할 때 입력하지 않은 경우에 추후에 package.json을 변경하여 입력할 수 있다.


3.버전관리

의존성 모듈을 설치하게 되면 dependencies안에 해당 모듈의 버전과 이름이 추가된다.

{
  "name": "tutorial",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "react": "^17.0.2", // react 설치 결과
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

3.1 특정 버전인 경우

"react": "17.0.2"

3.2 Tilde Range(~)

"react": "~17.0.2"

Tilde Range(~)의 경우에는 마이너 버전이 명시되어 있으면 패치버전만 변경하며 버전을 적용한다.
예를 들어 ~17.0.2인 경우, 17.0.9까지 버전을 갱신한다.

3.3 Caret Ranges(^)

"react": "^17.0.2"

Caret Ranges(^)의 경우에는 정식버전에서 마이너버전과 패치버전을 변경하며 버전을 적용한다.
예를 들어 ^17.0.2인 경우, 17.9.9까지 버전을 갱신하다.


4. 의존성 모듈 설치

package.json은 의존성 모듈을 관리하는 하나의 파일이다. 즉, 모듈들이 차곡차곡 쌓일 수록 dependencies에는 다양한 내용들이 추가된다. 이 파일 하나로 프로젝트에 필요한 모듈들을 한번에 설치할 수 있다.

npm install

이 명령어를 통해 package.json - dependencies에 명시되어져 있는 모듈들의 버전에 따라 설치를 진행한다.

profile
나의 공부 일기

0개의 댓글