일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Security 로그인
- maven
- react 자동입력방지
- 리액트 심플캡차
- Spring Boot
- 깃
- git
- react 심플캡차
- react captcha
- REACT
- Spring Security
- ChatGPT
- react 상태
- spring error
- SpringBoot
- build
- CI
- Docker
- spring security 로그인
- 스프링
- error
- 젠킨스
- jpa
- react simple captcha
- 리액트 캡차
- myBatis
- 스프링 시큐리티 로그인
- 에러
- react 캡차
- 스프링 시큐리티
- Today
- Total
I can do it(Feat. DEV)
git에 package.json, package-lock.json 파일을 관리해야할까? 본문
react로 만든 팀 프로젝트를 진행하면서 문득 든 의문점
package.json, package-lock.json 파일을 깃랩에 올려서 관리해야할까??
그래서 어렴풋이 알고있는 저 파일들이 무슨일을 하는지 알아봄.
※ package.json 이란?
- npm(or yarn) init 을 하면 생성되는 파일로써, npm 패키지들에 대한 정보(name, version 등)들이 적혀있는 json 형태의 파일임.
- 필수적으로 name이나 version에 대한 정보가 명시되어야하며 이 정보가 없으면 패키지를 설치할 수 없음.
- npm install을 사용하여 package.json 에 명시된 의존성 패키지들을 node_modules 폴더에 설치해줌.
※ package-lock.json 이란?
- 생성된 node_modules 폴더의 정보를 담고있는 파일임.
- npm을 사용해서 node_modules 트리나 package.json 파일을 수정하게 되면 자동으로 생성됨.
- package-lock.json 파일이 생성되는 시점의 의존성 트리에 대한 정확한 정보를 담고 있음.
쉽게 말해 package.json은 패키지들을 설치하기 위한 설명서이고, package-lock.json은 package.json 을 설치하던 날의 정보를 담고 있는 설명서인 셈.
그래서 다른사람이 package.json이라는 설명서로 패키지들을 설치할려고 할 때, package-lock.json이란 설명서를 참고해 같은 환경(version)을 만들어주는 것!!
결론은 git에 package.json, package-lock.json 파일을 올리도록 하자.
두 파일을 올려야지 같은 개발 환경을 세팅할 수 있음.
즉, 버전이 틀려 초기 개발 환경을 세팅하는데 삽질할 시간을 줄여줌!! 끝👍
📢참고사이트
미처 알지 못했던 package-lock.json
나는 왜 이 내용을 글로 쓰는가?얼마 전에 친구가 package-lock.json에 대해 쉽게 설명을 해달라고 물어보더군요.하지만, package-lock.json이 어떤 일을 하는지도 모르고, 해당 파일을 발견하면 무조건 지
pewww.tistory.com
https://hyunjun19.github.io/2018/03/23/package-lock-why-need/
package-lock.json은 왜 필요할까?
package-lock.json은 왜 필요할까? 2018-03-23 package-lock.json은 왜 필요할까? 어느 날 부터 인가 npm을 사용하면 package-lock.json 파일이 같이 생기기 시작했습니다. 이 파일의 정체가 궁금했지만 바쁘다는 핑
hyunjun19.github.io
'개발자 모드 > 개념' 카테고리의 다른 글
[Bat]간단한 배치 파일 만들기 (0) | 2023.06.09 |
---|---|
초보자를 위한 쿠키와 세션 이해하기 (0) | 2023.04.11 |
프록시 서버(Proxy Server) 대체 무엇? (0) | 2023.03.10 |
[Tomcat] Log 종류 (0) | 2023.02.06 |
컴파일, 빌드 대체 무엇?(feat. 링크, 배포) (0) | 2023.02.03 |