일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SQL
- deep learning
- phpredis
- Switch
- docker
- 블레이드 템플릿
- 기초 수학
- webpack
- python
- rabbitmq
- Redis
- For
- fastapi
- Machine Learning
- nodejs
- Node
- javascript
- Backbone.js
- AWS
- linux
- CentOS
- Redux
- mariadb
- php
- nginx
- React
- Go
- Babel
- laravel
- NCP
- Today
- Total
개발일기
Node.js - package.json이란? 본문
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"
}
1. 특정 버전인 경우
"react": "17.0.2"
2. Tilde Ranges(~)
"react": "~17.0.2"
Tilde Ranges(~)의 경우에는 마이너 버전이 명시되어 있으면 패치버전만 변경하며 버전을 적용한다.
예를 들어 ~17.0.2인 경우, 17.0.9까지 버전을 갱신한다. ~0일 경우는 0.0.0부터 0.9.9까지 버전을 갱신한다.
3. Caret Ranges(^)
"react": "^17.0.2"
Caret Ranges(^)의 경우에는 정식버전에서 마이너버전과 패치버전을 변경하며 버전을 적용한다.
예를 들어 ^17.0.2인 경우, 17.9.9까지 버전을 갱신하다. ^0일 경우는 0.0.0부터 0.0.9.까지 버전을 갱신한다.
4. 의존성 모듈 설치
package.json은 의존성을 모듈을 관리하는 하나의 파일이다. 즉, 모듈들이 차곡차곡 쌓일 수록 dependencies에는 다양한 내용들이 추가된다. 이 파일 하나로 프로젝트에 필요한 모듈들을 한번에 설치할 수 있다.
npm install
이 명령어를 통해 package.json - dependencies에 명시되어져 있는 모듈들의 버전에 따라 설치를 진행한다.
'Javascript > Node.js' 카테고리의 다른 글
Node.js - PM2로 프로세스 관리하기 (0) | 2023.04.02 |
---|---|
Node.js - Babel이란? (0) | 2021.09.16 |
npm install 옵션의 차이 (0) | 2021.09.16 |
Node.js - Express 웹 서버 만들기 (0) | 2021.08.30 |