Composer.lock在库中

时间:2013-09-19 17:16:27

标签: php composer-php

我在这里有一个使用Composer的应用程序,我们提交composer.lock文件,所以我们的dev和prod是相同的。但是在创建由composer安装的库时,我是否应该为库提交composer.lock文件?或者这会对我们的内部回购或作曲家本身造成问题吗?

2 个答案:

答案 0 :(得分:12)

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

也就是说,对于库来说,提交锁文件确实没有意义,所以请随意.gitignore它。我们只是说要始终承诺它,因为99%的人应该这样做。如果一些图书馆作者更了解并在他们的文章中忽略它,那很好,但这两种方式并不重要。

答案 1 :(得分:4)

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

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

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

因此,添加它的好处很小,没有任何缺点,我建议添加它。