package.json 및 package.lock.json 설명
1852 단어 webdevnodeprogrammingnpm
첫 번째 질문은 "package-lock.json 파일을 커밋해야 합니까?"입니다.
이에 대해 이야기하고 이 질문에 답해 봅시다.
package.json이 무엇인가요?
기본적으로 모든 노드 프로젝트의 핵심이라고 할 수 있습니다. 이 파일은 프로젝트에 대한 메타데이터를 저장하고 프로젝트의 종속성, 버전, 스크립트 등을 관리합니다.
package-lock.json이 무엇인가요?
일부 패키지를 설치하면 이 파일이 자동으로 생성됩니다. 정확한 버전 종속성 트리를 저장하고 다른 개발자의 종속성을 보장합니다. 사실 이것은 npm의 매우 중요한 기능인데 어떤 사람들은 이것을 이해하지 못합니다.
시맨틱 버전 관리는 어떻습니까?
"dependencies": {
"my_dep": "^1.0.0",
"another_dep": "~2.2.0"
}
1.0
또는 1.0.x
또는 ~1.0.4
1
또는 1.x
또는 ^1.0.4
*
또는 x
물결표(~)와 캐럿(^)의 차이점은 무엇인가요?
첫 번째 예에서 ^ 기호로 시작했으며 이것은 다른 것을 의미합니다.
이 캐럿(^) 기호는 기본적으로 프로그램이 패치 릴리스와 마이너 릴리스를 업그레이드할 수 있지만 메이저 릴리스를 가져올 수 없다는 것을 의미합니다.
npm install을 실행할 때 my_dep에 새 패치 릴리스 및 마이너 릴리스가 있으면 자동으로 최신 버전으로 업그레이드됩니다. 그러나 주요 릴리스로 업그레이드되지는 않습니다.
물결표(~)는 프로그램이 패치 릴리스를 위해 업그레이드할 수 있지만 마이너 또는 메이저 릴리스로 업그레이드되지 않음을 의미합니다.
npm ci 명령이란 무엇입니까?
종속 항목에서 물결표(~) 또는 캐럿(^)을 사용할 때 npm install 명령을 실행하면 package-lock.json이 자동으로 재정의됩니다. 업그레이드하지 않고 정확한 종속성을 사용하려는 경우 이 명령을 쉽게 실행할 수 있습니다. 그리고 기본적으로 package-lock.json 파일을 커밋해야 하는 이유입니다.
자원
이 문서는 원래 medium에 게시되었습니다.
Reference
이 문제에 관하여(package.json 및 package.lock.json 설명), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/atakde/packagejson-packagelockjson-explained-1j08텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)