12

我在这里有一个使用 Composer 的应用程序,我们提交了 composer.lock 文件,因此我们的开发和产品是相同的。但是在创建由 composer 安装的库时,我是否也应该提交该库的 composer.lock 文件?或者这会给我们的内部回购或作曲家本身带来问题?

4

2 回答 2

20

它不会引起任何问题,因为仅当您在库的根目录中实际运行 composer install 时才会使用 composer.lock 。当它作为依赖项安装时,从不考虑依赖项的锁定文件。

也就是说,对于库来说,提交锁定文件确实没有什么意义,所以请随意 .gitignore 它。我们只是说始终承诺,因为这是 99% 的人应该做的。如果一些库作者知道得更好,并在他们的库中忽略它,那很好,但无论哪种方式都无关紧要。

于 2013-09-19T19:47:30.853 回答
7

值得将其composer.lock放入库中,原因与将其放入可部署项目中的原因相同;允许您针对在其开发中使用的完全相同的依赖项开发和测试该库。

这对于您对库的自动化测试很有用,并有助于快速识别库中的错误是由库本身中的实际错误引起的,还是由其中一个依赖项中的错误/更改行为引起的。或者更通俗地说,它有助于避免“为我工作”的问题。

正如 Seldaek 所说,composer.lock库的文件不会被仅需要该库的项目使用。它仅在您在库的根目录中运行 composer 时使用。

因此,添加它有一点好处,而且没有缺点,我建议添加它。

于 2013-09-21T16:44:36.140 回答