-1

我知道拥有 .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捆绑程序也不会安装 package.json 中 semver 范围允许的最新版本的软件包,而只是安装package-lock.json 的具体版本?

4

1 回答 1

1

npm install将始终尊重包锁。

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

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

于 2019-08-27T16:12:03.960 回答