백엔드/Node.js

package.json

Ryuzy 2025. 4. 18. 17:33
728x90
반응형

1. 패키지 매니저

패키지 매니저(package manager)는 Node.js 프로젝트에서 필요한 라이브러리(패키지)를 설치, 관리, 업데이트할 수 있게 도와주는 도구입니다.

 

1. npm (Node Package Manager)

  • Node.js 설치 시 자동으로 같이 설치됩니다.
  • 전 세계에서 가장 많이 사용되는 자바스크립트 패키지 매니저입니다.
  • 과거에는 속도가 느리고 캐시 처리가 약점이었지만, 최근 버전에서는 많이 개선되었습니다.
  • 공식 페이지

 

2. yarn

 

  • Facebook에서 만든 npm의 대안
  • npm보다 더 빠르고 안정적인 패키지 관리를 목표로 만들어졌습니다.
  • yarn.lock 파일을 이용해 버전 일관성을 더 엄격하게 보장
  • 설치가 병렬로 진행되어 속도가 빠름니다.
  • 별도로 설치해야 합니다. (npm install -g yarn)
  • 공식 페이지

 

 

 

2. package.json

package.json은 Node.js 프로젝트의 정보를 담고 있는 핵심 파일입니다. 이 파일은 말 그대로 "패키지에 대한 설명서"이며, 프로젝트의 이름, 버전, 필요한 패키지 목록, 실행 스크립트 등 다양한 정보를 담고 있습니다. Node.js 프로젝트를 만들 때 npm init 명령어를 실행하면 이 파일이 자동으로 생성됩니다.

 

1. package.json의 역할

📦 프로젝트 정보 제공 프로젝트 이름, 설명, 버전 등을 저장합니다.
🧩 의존성 관리 npm install 시 어떤 패키지를 설치할지 지정합니다.
🛠 실행 스크립트 지정 npm start처럼 프로젝트를 실행하는 명령어를 설정할 수 있습니다.
🔄 다른 개발자와 협업 package.json만 있으면 같은 환경을 쉽게 복원할 수 있습니다 (npm install 한 번으로 끝!).

 

2. 기본 구조

 

  • 이 프로젝트는 어떤 이름이고, 어떤 버전이고, 어떤 라이브러리를 사용하는지"를 기록합니다.
  • 사람과 npm이 읽기 쉽게 정리된 기본 설명서입니다.

 

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "나의 첫 Node.js 앱",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },
  "keywords": ["node", "app"],
  "author": "김사과",
  "license": "MIT",
  "dependencies": {
    "express": "^4.18.2"
  },
  "devDependencies": {
    "nodemon": "^3.0.2"
  }
}

 

 

3. package-lock.json

 

  • npm이 실제로 어떤 정확한 버전의 패키지를 설치했는지 기록합니다.
  • 모든 하위 의존성까지 버전과 설치 경로를 상세히 기록합니다.
  • 설치 결과가 고정되므로 재현성(reproducibility)을 보장합니다.
  • 수정하거나 삭제하지 마세요!
  • 팀 프로젝트에서는 꼭 같이 Git에 포함해야 모든 개발자의 환경이 일치합니다.

 

 

728x90
반응형

'백엔드 > Node.js' 카테고리의 다른 글

Express  (0) 2025.04.22
EJS  (0) 2025.04.22
http 모듈  (0) 2025.04.22
파일 입출력  (0) 2025.04.22
모듈  (0) 2025.04.18