Web, View/Vue

package.json & package-lock.js

kaleb 2023. 1. 16. 18:30
728x90

 

  • Package.json :
    프로젝트의 정보를 정의합니다. (name, version, dependencies...)
    의존하는 패키지들의 정보를 version range(범위)으로써 정의합니다.
"name" : "example",
"version" : "1.0.0",
"dependencies" : {
	"A" : "<2.1.0"
}

 

  • Package-lock.json : 
    Package.json만으로는 정보가 부족하기 때문에 (범위로 정보를 주기 때문) 사용됩니다.
"name" : "example",
"version" : "1.0.0",
"dependencies" : {
	"A" : {
		"version" : "2.0.0",
		"resolved" : "<https://registry.npmjs.org/A/-/A-2.0.0/tgz>",
		"integrity" : "#",
	} 
}

 

Package-lock.json은 Package.json에 수정되거나  module이 구조가 변경될 때 당시의 의존성에 대한 정확하고 구체적인 정보들을 가지고 node_module 트리를 설명해줍니다.

Package-lock.json 파일이 존재하는 경우에는 Package.json 파일을 이용하지 않고 구체적으로 명시된 의존 패키지(Package-lock.json)들을 통해 node_module을 생성합니다.

(해당 파일의 스냅샷이라고 생각할 수 있습니다.)

 

패키지 version이 업데이트되거나 수정되는 경우에 package.json은 변동되지만 package-lock.json의 경우에는 동일한 node_module을 생성하게 해주기 때문에 같은 의존성을 설치할 수 있게 보장해주는 파일입니다.

따라서 협업시에는 pack-lock.json이 필요합니다.


 

반응형

'Web, View > Vue' 카테고리의 다른 글

Router  (0) 2023.01.12
Component  (0) 2022.12.27
Props  (0) 2022.12.27