什么时候使用 package-lock.json ?

When exactly is package-lock.json used?

我知道有.lock文件的要点是它们包含特定版本的包(而package.json可以指定范围),这样当你在不同的机器上安装同一个项目时,你可以保证相同版本的包。

我想知道的:

什么时候用package.json,什么时候用package-lock.json?例如,如果打包器找到一个 package.json 文件但没有找到 package-lock.json 文件,它是否使用 package.json 并创建 package-lock.json,但使用 package-lock.json 如果它找到它?如果是这样,那么我是否更正了如果您从不重新生成 package-lock.json,即使您 运行 npm install 捆绑器也不会安装最新版本的包允许semver 的范围在 package.json,而只是从 package-lock.json?

安装特定版本

npm install 将始终尊重包锁。

如果你想安装由你在 package.json 中的 semver 范围定义的包的最新版本,你必须删除当前的包锁,然后再次 运行 npm install

您可以在 package.json 中或通过 运行 宁 npm install package@version 手动更新包。它将更新此特定包及其依赖项的现有包锁定信息。