상세 컨텐츠

본문 제목

package.json이 뭐야 — 프로젝트의 신분증이자 재료 목록

서버·개발/코드 노트

by 사이 (SAI) 2026. 7. 21. 05:35

본문

728x90
반응형

package.json은 프로젝트의 이름·버전과 필요한 코드 부품 목록이 적힌, 프로젝트의 신분증 같은 파일입니다.

2026년 7월 기준으로, AI에게 코드를 만들어 달라고 하면 폴더 안에 거의 항상 이 파일이 들어 있습니다.

이 글을 읽으면 package.json이 왜 있는지, 안에 뭐가 적혀 있는지, 그리고 이게 AI 코딩과 무슨 상관인지까지 한 번에 정리됩니다.

프로젝트 폴더 맨 위에 놓인 package.json 파일을 신분증처럼 표현한 장면

package.json은 이 프로젝트가 무엇이고(이름·버전), 무엇을 필요로 하는지(부품 목록)를 한 장에 적어둔 파일입니다. 이 파일 하나만 있으면 어디서든 필요한 부품을 다시 설치할 수 있습니다.

package.json은 프로젝트의 신분증입니다

package.json은 프로젝트 폴더의 맨 위에 놓이는 작은 텍스트 파일입니다.

이름 그대로 "패키지(package)에 대한 정보를 담은 JSON 파일"이라는 뜻입니다.

여기서 JSON은 사람도 읽고 컴퓨터도 읽는 데이터 표기 형식인데, 이 부분이 궁금하면 이전에 쓴 JSON 글을 참고하면 됩니다.

이 파일에는 프로젝트의 이름, 버전, 그리고 이 프로젝트가 돌아가려면 어떤 코드 부품이 필요한지가 적혀 있습니다.

그래서 폴더를 처음 열었을 때 package.json만 봐도 "이게 무슨 프로젝트고 뭐가 필요한지"를 대충 알 수 있습니다.

이 파일은 보통 우리가 직접 손으로 만들지 않습니다.

앞 글에서 다룬 npm이 프로젝트를 시작하거나 부품을 설치할 때 자동으로 만들고 관리해 줍니다.

안에는 뭐가 적혀 있을까

가장 단순한 package.json은 아래처럼 생겼습니다.

{
  "name": "my-first-app",
  "version": "1.0.0",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.19.2"
  }
}

낯설어 보여도 겁먹을 필요는 없습니다.

사실상 "항목 이름: 값"이 쭉 나열된 목록일 뿐입니다.

주요 항목만 표로 정리하면 이렇게 됩니다.

항목
name 프로젝트 이름
version 현재 버전 (예: 1.0.0)
scripts 자주 쓰는 명령에 짧은 별명 붙이기 (start, build 등)
dependencies 이 프로젝트가 실행되려면 필요한 코드 부품 목록

scripts는 긴 명령어에 별명을 붙여두는 칸입니다.

예를 들어 node index.js라고 매번 치는 대신 npm start만 입력하면 되도록 정해둔 것입니다.

package.json 코드가 열린 에디터 화면과 항목별 설명이 붙은 UI 목업

dependencies와 devDependencies는 뭐가 다를까

부품 목록은 두 칸으로 나뉘어 있을 때가 많습니다.

dependencies는 프로그램이 실제로 돌아갈 때 필요한 부품입니다.

devDependencies는 개발할 때만 쓰고 완성된 프로그램에는 필요 없는 부품입니다.

비유하자면 요리에 들어가는 재료가 dependencies, 요리하다가 쓰는 도마·칼 같은 도구가 devDependencies입니다.

완성된 음식에는 도마가 들어가지 않는 것과 같은 이치입니다.


AI 코딩이랑 무슨 상관일까

이 대목이 핵심입니다.

AI에게 "웹앱 하나 만들어줘"라고 하면 여러 파일이 담긴 폴더가 생깁니다.

그 폴더를 열었을 때 가장 먼저 봐야 할 파일이 바로 package.json입니다.

이 파일이 곧 "이 프로젝트가 뭘 필요로 하는지"를 알려주는 목록이기 때문입니다.

개인적으로는, AI가 만든 코드를 처음 열어보는 사람일수록 이 파일부터 여는 습관을 들이는 게 좋다고 봅니다.

여기에 더 중요한 점이 하나 있습니다.

부품 실물이 담긴 무거운 폴더를 통째로 주고받지 않아도, package.json만 있으면 필요한 부품을 언제든 다시 설치할 수 있습니다.

터미널에서 npm install만 입력하면 이 목록을 읽어 부품을 알아서 내려받습니다.

그래서 이 파일은 프로젝트의 "재료 목록"이자 "복원 설명서" 역할을 동시에 합니다.

정리하면

package.json은 프로젝트의 이름·버전과 필요한 부품을 적어둔 신분증 겸 재료 목록입니다.

이 파일 하나만 챙기면 무거운 부품 폴더 없이도 프로젝트를 어디서든 되살릴 수 있습니다.

AI가 만든 프로젝트를 열었을 때 가장 먼저 확인하면 좋은 파일이기도 합니다.

참고로 실제로 부품이 쌓이는 무거운 폴더가 궁금하다면, 다음 편에서 다룰 node_modules 이야기로 이어집니다.

자주 묻는 질문

package.json은 직접 만들어야 하나요

직접 만들 필요는 거의 없습니다.

npm으로 프로젝트를 시작하거나 부품을 설치하면 자동으로 만들어지고 갱신됩니다.

손으로 여는 경우는 보통 이름을 바꾸거나 scripts에 명령을 추가할 때 정도입니다.

package.json을 지우면 어떻게 되나요

프로젝트가 자기 정보와 필요한 부품 목록을 잃어버립니다.

그러면 npm install로 부품을 다시 설치하는 것도 어려워지고, 정해둔 명령 별명도 사라집니다.

실수로 지웠다면 새로 만들 수 있지만, 원래 있던 부품 목록은 직접 다시 채워 넣어야 합니다.

 

 

참고한 자료

npm 공식 문서(docs.npmjs.com)의 package.json 항목 설명과 Node.js 공식 문서를 참고했습니다. dependencies·devDependencies 구분과 scripts 사용법은 공식 문서 기준이며, 세부 표기는 발행 전 재확인이 필요합니다.

728x90
반응형

관련글 더보기

댓글 영역