package.json, package-lock.json

·2023년 5월 6일
0

개발 지식

목록 보기
68/96
post-thumbnail

package.json

package.json은 Node.js 프로젝트에서 사용하는 패키지 정보를 담고 있는 파일로, 이 파일은 npm이나 yarn과 같은 패키지 매니저를 사용할 때 자동으로 생성된다.

package.json 파일에는 다음과 같은 내용이 포함됩니다.

  • 프로젝트의 이름, 버전 정보
  • 사용하는 패키지의 이름, 버전 반영 범위
  • 프로젝트 실행 및 빌드에 필요한 스크립트 명령어
  • 프로젝트 정보, 라이선스 정보

package.json 이 존재하는 경우에는, 이러한 package.json 에 정보를 기반으로 node_modules 을 설치하게 된다.

package.json 이 만으로는 동일한 개발환경을 만들 수는 없다. npm의 버전이나, OS 환경 및 버전에 따라 다른 버전의 라이브러리가 설치될 수도 있다.

package-lock.json

package-lock.json 파일은 npm 패키지 매니저에서 사용하는 파일로, package-lock.json 의 경우, 설치한 버전의 정보가 그대로 담기게 된다. 또한 package-lock.json 이 존재하면 package-lock.json 을 기반으로 node_modules 설치하게 된다. 즉, 더 정확한 패키지를 내려받을 수 있다.

package-lock.json 파일에는 다음과 같은 내용이 포함된다.

  • 사용하는 패키지의 이름, 버전 정보
  • 패키지의 의존성 관계 정보
  • 패키지의 설치 위치 정보
  • 패키지의 버전 충돌 정보 등

package-lock.jsonpackage.json 의 부족한 정보를 도와주는 파일이다. package.json 을 통해 패키지의 릴리즈에 대해 추적하여 권장되는 설치를 진행하면서도, package-lock.json 을 통해, 명확한 버전의 패키지를 설치하도록 할 수 있다.

참고로 package-lock.json 의 경우, 프로젝트에 설치한 라이브러리들의 버전명이 그대로 담기기 때문에 정보 유출을 막고자, 깃허브에서는 package-lock.json 을 원격 저장소에 담지 않는 것을 권장하고 있다.

profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글