主题
package-lock.json文件
自npm 5之后所有的依赖包都采用扁平化管理的方式
package-lock.json
的作用是锁定依赖安装结构,里面指定的都是确切的版本号,保证在任意机器上执行 npm install
都会得到完全相同的 node_modules
结果,因为package-lock.json
存储所有安装的信息,例如:
json
"name": "my-pack",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@webassemblyjs/ast": {
"version": "1.8.5", // 当前依赖的版本
"resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz", // 从哪个渠道安装的
"integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=", // 内容hash
"dev": true,
"requires": {
"@webassemblyjs/helper-module-context": "1.8.5",
"@webassemblyjs/helper-wasm-bytecode": "1.8.5",
"@webassemblyjs/wast-parser": "1.8.5"
}
},
....
如果手动更新了package.json
文件,执行安装命令会下载对应的新版本,并且会自动更新lock文件~