gpt4 book ai didi

npm - 我应该提交yarn.lock 和package-lock.json 文件吗?

转载 作者:行者123 更新时间:2023-12-03 04:45:16 25 4
gpt4 key购买 nike

我们使用yarn来进行所有确定性pkg安装,但不会阻止用户使用npm - 我猜这两个文件都会导致问题。是否应该将其添加到您的 .gitignore 目录中?

最佳答案

一般情况下总是提交依赖锁文件

原样covered其他地方,依赖锁定文件,许多包管理系统都支持这些文件(例如: composerbundler ),应该致力于链端项目中的代码库 - 这样每个尝试运行该项目的人都可以完全使用经过测试的依赖集来运行。

尚不清楚锁定文件是否应始终提交到旨在包含在其他项目中的包中(需要更宽松的依赖关系)。然而,两者Yarn和 NPM(由 @Cyrille 介绍)在必要时分别智能地忽略 yarn.lockpackage-lock.json,从而始终安全地提交这些锁定文件。

因此,您应该始终至少提交 yarn.lockpackage-lock.json 之一,具体取决于您所在的包管理器使用。

您应该同时提交yarn.lock和package-lock.json吗?

目前我们有两个不同的包管理系统,它们都从 package.json 安装同一组依赖项,但生成并读取两个不同的锁定文件。 NPM 5 生成 package-lock.json,而 Yarn 生成 yarn.lock

如果您提交 package-lock.json,那么您正在为使用 NPM 5 安装您的依赖项的人们提供支持。如果您提交 yarn.lock,您'正在构建对人们使用 Yarn 安装依赖项的支持。

您是否选择提交 yarn.lockpackage-lock.json 或两者都提交,取决于在您的项目上进行开发的人员是否仅使用 Yarn 或 NPM 5 或两者都使用。如果您的项目是开源的,那么对社区最友好的做法可能是同时提交这两个项目,并有一个自动化流程来确保 yarn.lockpackage-lock.json 始终保持同步。

更新: Yarn 现已推出 an import command它将从 package-lock.json 文件生成 yarn.lock 文件。这对于保持两个文件同步很有用。 (感谢@weakish)

<小时/>

这个问题在 Yarn 项目中进行了详细讨论:

两者现已关闭。

关于npm - 我应该提交yarn.lock 和package-lock.json 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44552348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com