[npm] package-lock.json과 package.json이 모두 필요합니까?

NPM을 최신 버전 (3.X에서 5.2.0으로) npm install으로 업데이트하고 기존 프로젝트에서 실행 한 후 자동 생성 된 package-lock.json파일을 얻습니다 .

package-lock.json와는 달리 정확한 종속성 트리를 제공 할 수 있습니다 package.json.

그 정보만으로는 package.json중복되는 것처럼 보이고 더 이상 필요하지 않습니다.

NPM이 작동하려면 둘 다 필요합니까?
파일
만 사용하는 것이 안전 package-lock.json합니까?

package-lock.json ( doc1 , doc2 ) 문서에 대해서는 언급하지 않았습니다.

편집 :

그것에 대해 좀 더 생각한 후에 누군가가 이전 버전의 NPM (5.x 이전)에서 프로젝트를 사용하려는 경우 여전히 모든 종속성을 설치하지만 덜 정확한 버전 (패치 버전)으로 설치한다는 결론에 도달했습니다.



답변

이 필요하십니까 모두 package-lock.jsonpackage.json? 없음 .

당신은 필요 package.json합니까? .

package-lock.json? 만있는 프로젝트를 가질 수 있습니까 ? 없음 .

package.json의존성 이상을 사용 – 프로젝트 속성, 설명, 저자 및 라이센스 정보, 스크립트는이 정의처럼 package-lock.json단독으로 특정 버전 번호 잠금 종속성으로 사용됩니다.


답변

package-lock.json: 설치된 각 패키지의 정확한 버전을 기록하여 다시 설치할 수 있습니다. 향후 설치에서는 동일한 종속성 트리를 구축 할 수 있습니다.

package.json: 앱에 필요한 최소 버전을 기록합니다. 특정 패키지의 버전을 업데이트하면 변경 사항이 여기에 반영되지 않습니다.


답변

잠금 파일을 소스 제어에 커밋 해야하는 경우 질문이 있어야합니다. 특정 상황에서는 무시됩니다.

풀 요청과 커밋 기록이 부풀어 오른 것을 발견 했으므로 변경 사항이 보이면 별도 커밋을 수행하십시오.


답변

package-lock.json 유지의 이유에 대한보다 정확하고 자세한 설명은 여기 에서 찾을 수 있습니다.


답변