如果 package-lock.json 每次 运行 npm install 都会改变,那它有什么用?
For what use is the package-lock.json if it changes everytime you run npm install?
如果每次 运行 npm 安装时,npm 都会查找您的 package.json 而不是您的包 - lock.json,它有什么用?
它使用两者来确定要安装的版本。 package-lock.json
文件指示在之前 运行 期间安装的版本,因此当您拉取代码和 运行 npm install
.
时应该得到完全相同的版本
在拥有 .lock
文件之前,您将获得大致相同的版本,但细微的差异可能会以惊人的方式破坏部署。
锁定文件的目的是实现可重现的构建。
您始终可以解除锁定并重新安装,但您可能会获得略有不同版本的依赖项。如果您使用版本控制工具并查看所做的更改,这一点就会变得很明显。
如果每次 运行 npm 安装时,npm 都会查找您的 package.json 而不是您的包 - lock.json,它有什么用?
它使用两者来确定要安装的版本。 package-lock.json
文件指示在之前 运行 期间安装的版本,因此当您拉取代码和 运行 npm install
.
在拥有 .lock
文件之前,您将获得大致相同的版本,但细微的差异可能会以惊人的方式破坏部署。
锁定文件的目的是实现可重现的构建。
您始终可以解除锁定并重新安装,但您可能会获得略有不同版本的依赖项。如果您使用版本控制工具并查看所做的更改,这一点就会变得很明显。