package.json

hipAn·2022년 10월 9일
0

끄적끄적 성장일지

목록 보기
20/30
  1. 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

  1. package.json의 기본 정보
    기본 정보란 package.json을 자동으로 생성할 때(npm init), -y를 명령어를 붙이지 않은 경우 입력하게 되는 것들을 나타낸다.

name, version, description, author, license 등을 입력할 수 있는데, 프로젝트에 대한 간략한 내용을 입력할 수 있다. 처음 생성할 때 입력하지 않은 경우에 추후에 package.json을 변경하여 입력할 수 있다.

  1. 버전관리
    의존성 모듈을 설치하게 되면 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"
}

  1. 특정 버전인 경우

"react": "17.0.2"

  1. Tilde Ranges(~)

"react": "~17.0.2"
Tilde Ranges(~)의 경우에는 마이너 버전이 명시되어 있으면 패치버전만 변경하며 버전을 적용한다.

예를 들어 ~17.0.2인 경우, 17.0.9까지 버전을 갱신한다. ~0일 경우는 0.0.0부터 0.9.9까지 버전을 갱신한다.

  1. Caret Ranges(^)

"react": "^17.0.2"
Caret Ranges(^)의 경우에는 정식버전에서 마이너버전과 패치버전을 변경하며 버전을 적용한다.

예를 들어 ^17.0.2인 경우, 17.9.9까지 버전을 갱신하다. ^0일 경우는 0.0.0부터 0.0.9.까지 버전을 갱신한다.

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

npm install

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

profile
아 나도 이랬을 때가 있었는데..

0개의 댓글