【问题标题】:what is the use of package-lock.json?package-lock.json 有什么用?
【发布时间】:2018-03-21 12:11:34
【问题描述】:

谁能告诉我 package-lock.json 文件的确切用途?

虽然很多人提到它是用来查看版本依赖树的。

寻找简单易懂的解释。

提前致谢。

【问题讨论】:

  • 为了避免在你和队友做 npm install 时引入不同的库依赖项
  • 最近在 package-lock.json 中遇到很多合并冲突 .. 我该如何避免呢?

标签: package.json package-lock.json


【解决方案1】:

npm install 使用此文件来确保它要安装的软件包与此文件中的规定相同。它使npm install 操作在机器之间保持一致。因此,您将不太可能对node_modules 文件夹进行核攻击。

在一致的包视图之上,如果您的存储库包含已知的安全漏洞,GitHub 还会 use package-lock.json to scan

您可以使用lock-walker 直观地遍历package-lock.json 中的依赖关系树,这在检查安全漏洞时特别有用。

【讨论】:

    【解决方案2】:

    我认为npm documention 很有解释性。 其主要目的是提供

    依赖关系树的单一表示,例如队友、部署和 保证持续集成安装完全相同的依赖项。

    因此,例如在不同的系统和/或不同的人上,将使用相同的依赖项(和相同的版本)。 如需更好的解释,请参阅this

    希望这会有所帮助。

    【讨论】:

    • 谢谢@gtosto。我确实在 npm doc 中读过同样的内容。我看到“安装完全相同的依赖项”,package.json 现在不是以同样的方式工作吗?
    • 在 package.json 中你可以指定通配符,例如,通常你不控制传递依赖的版本。相反,package-lock.json 或多或少类似于特定依赖解析“运行”的快照或实例。
    • 为了更好的解释阅读this abaout package locks in npm
    猜你喜欢
    • 1970-01-01
    • 2018-07-27
    • 2018-09-04
    • 2017-11-02
    • 2017-12-20
    • 2018-07-05
    • 2017-10-30
    相关资源
    最近更新 更多