Composer 包 "Hotfixes" 没有版本更改

Composer packages "Hotfixes" without version change

我有一个 composer.json 文件,其中包含一些特定版本的软件包。所以我确信每次 运行 composer update 我都会检索到与以前完全相同的代码。

但有些应用程序作者和公司生产“hotfixes”。这意味着他们在不更改 version 的情况下修复了代码中的某些内容。

你知道作曲家的packages会不会发生这种事情吗?

如果是,那么每次我使用 composer.json 下载软件包时,我都不能确定我得到了相同的代码...

嗯,问题是你运行composer update。除非你想获得你使用的包的最新提交,否则你永远不应该这样做。

每次您使用 composer.json 时也会生成 composer.lock 文件,如果您在存储库中提交此文件(例如 GIT),您应该始终提交两个 composer.jsoncomposer.lock。现在,如果您(或其他人)将来想要安装您的应用程序并将 运行 composer install 他们将获得与 composer.lock.

中保存的完全相同的提交

所以简单的规则是 - 当你想安装相同的东西时,你应该有 composer.jsoncomposer.lock 和 运行 composer install 如果你想将所有软件包更新为您在 composer.json 中的版本,您应该 运行 composer update