我知道拥有.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安装特定版本?
答案 0 :(得分:1)
npm install
将始终遵守程序包锁定。
如果要在package.json中安装由semver范围定义的软件包的最新版本,则必须删除当前的软件包锁,然后再次运行npm install
。
您可以在package.json中手动更新软件包,也可以通过运行npm install package@version
来更新软件包。它将为此特定软件包及其依赖关系更新现有的软件包锁定信息。