【问题标题】:When exactly is package-lock.json used?究竟什么时候使用 package-lock.json?
【发布时间】:2019-12-31 20:28:51
【问题描述】:

我知道拥有.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 安装特定版本?

【问题讨论】:

    标签: json npm package.json package-managers package-lock.json


    【解决方案1】:

    npm install 将始终遵守包锁。

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

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

    【讨论】:

    • 完美,谢谢!所以只是澄清一下,如果你运行'npm install'并且存在一个package-lock.json并且它包括package.json中引用的所有包,它会什么都不做吗?然而,如果有一个 package-lock.json,但它可能已经过时并且更多的包已经添加到 package.json,它会只添加尚未包含在 package-lock.json 中的包吗?
    猜你喜欢
    • 2014-09-09
    • 2023-02-25
    • 2015-10-12
    • 2021-04-15
    • 2017-12-11
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 2018-03-21
    相关资源
    最近更新 更多