완소.. package-lock.json

천둥상어

·

2025. 3. 25. 21:49

반응형

개발을 마치면 불필요한 파일을 지우고 저장소에 보관을 한다.

나에게 불필요한 파일에는 package-lock.json 도 있었는데...

이 녀석은 노드 모듈 설치시 나오는 부산물로만 생각했다.

 

모듈의 의존성과 관련이 있다는건 알고 있었지만

그냥 다시 설치하면 되는 정도로 치부했다.

 

그렇게 시간이 가고.....

어느날 우리 팀원들이 SOS를 친다.

 

"팀장님~ 구동이 안되요.."

 

"팀장님~ 스파인이 튀어요..."

 

아니.. 몇달간 잘만 쓰던 엔진인데.. 왜??

 

상황을 보니....

A의 컴퓨터에서는 잘 구동이 되는데

B의 컴퓨터에서는 에러가 난다.

 

그렇다면 Node.js의 버전이나 NPM 버전이 가장 먼저 의심이 되지만...

격렬하게 나의 촉은 아니라고 부정한다. ('병신아 그거 아니야...")

 

순간 떠올랐다.

Ho.. Hoxy package-lock.json?

 

확인해 보니 같은 package.json 의 정보로 설치했지만 A와 B의 packge-lock.json이 달랐다.

그래서 package-lock.json 에 대해 구글링을 했고 다음과 같은 사실을 알았다.

 

설치시 package.json 에 명시된 버전을 항상 동일하게 보장해 주지 않는다.

그래서 package-lock.json 파일이 부산물로 생성이 되고

이 파일이 설치시 동일한 환경으로 모듈의 의존성을 만들어준다.

고로 package-lock.json 은 함부로 지우면 되는 파일이 아니었던 것이다....

 

결국 두세달전에 생성되었던 package-lock.json이 필요하게 되었다.

문제는 소스 정리하면서 불필요한 파일로 취급해 로컬에서도 다 삭제했고...

저장소에도 제외 파일로 지정되어 백업이 되지 않았다.

강한 ㅈ 됨을 느끼고....

 

하지만 다행히 집 컴퓨터에는 남아있더라....

주말에도 집에서 일한게 이딴식으로 전화위복이 되는구나..

 

결론적으로...

package-lock.json 은 불필요한 파일이 아닌 완전소중한 설정 파일이었다.

이제부터라도 잘 챙겨야지.

 

 

반응형