안녕하세요.
오늘은 node 환경의 개발자라면 한번쯤 궁금했을만한 package-lock.json의 역할에 대해 알아보겠습니다.
우리는 node 환경에서 개발을 할 때 다양한 패키지들을 설치하여 활용하곤 합니다.
우리가 설치하는 패키지 또한 다른 npm 패키지를 활용하여 만든 패키지들이고 이들 또한 설치를 하게 됩니다.
이렇게 직간접적으로 설치된 패키지들은 대부분 호환성을 "^1.1.5"와 같이 표현하여, 범위로 지정해두고 있습니다.
여기서 package-lock.json 파일은 이름대로 설치된 package들의 버전을 lock하는 역할을 수행합니다.
만약 package-lock.json 파일이 없다면, 어제 설치한 node_modules와 오늘 node_modules는
현재 개발중인 웹앱에 다른 결과를 낳을 수도 있게 됩니다.
특히 협업 환경에서 package-lock.json은 일관된 결과를 낳도록 만들어주므로
git과 같은 저장소에 꼭 포함해주시길 바랍니다.