gloriaJun / til

Lessoned Learned
3 stars 0 forks source link

package-lock file #97

Open gloriaJun opened 3 years ago

gloriaJun commented 3 years ago

사용하고 있는 패키지 매니저에 따라 아래와 같이 파일이 나뉜다.

해당 프로젝트가 의존하고 있는 패키지와 각 버전은 package.json에 정의가 되어 있고, 해당 패키지를 정상적으로 사용하기 위한 의존 패키지들이 추가로 설치되어짐. 하지만, 각 패키지의 버전들이 ^ 또는~를 이용하여 정의되므로 설치 시점에 따라 각 개발자들이 상이한 버전의 캐피지를 설치하게될 확률이 발생할 수 있다.

즉, 예를 들어서.. 아래와 같이 정의된 버전에 대해서는 16.8.2 이상 17.0.0 미만의 범위로 지정되어 버전이 설치될 수 있다.

"react": "^16.8.2",

각 개발자 간의 각기 다른 패키지 버전이 설치된 문제는 개발자 간의 혼선이 발생할 수 있으므로 lock 파일이 만들어지게 되었음.

package-lock.json이나 yarn.lock과 같은 패키지 잠금 파일에는 프로젝트에 패키지에 최초로 추가될 당시에 정확히 어떤 버전이 설치가 되었는지를 기록된다. lock 파일이 존재하게 되면, 해당 파일에 기록된 버전을 기준으로 패키지가 설치되게 된다.

Reference