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.json
和 composer.lock
。现在,如果您(或其他人)将来想要安装您的应用程序并将 运行 composer install
他们将获得与 composer.lock
.
中保存的完全相同的提交
所以简单的规则是 - 当你想安装相同的东西时,你应该有 composer.json
和 composer.lock
和 运行 composer install
如果你想将所有软件包更新为您在 composer.json
中的版本,您应该 运行 composer update
我有一个 composer.json
文件,其中包含一些特定版本的软件包。所以我确信每次 运行 composer update
我都会检索到与以前完全相同的代码。
但有些应用程序作者和公司生产“hotfixes”。这意味着他们在不更改 version
的情况下修复了代码中的某些内容。
你知道作曲家的packages
会不会发生这种事情吗?
如果是,那么每次我使用 composer.json 下载软件包时,我都不能确定我得到了相同的代码...
嗯,问题是你运行composer update
。除非你想获得你使用的包的最新提交,否则你永远不应该这样做。
每次您使用 composer.json
时也会生成 composer.lock
文件,如果您在存储库中提交此文件(例如 GIT),您应该始终提交两个 composer.json
和 composer.lock
。现在,如果您(或其他人)将来想要安装您的应用程序并将 运行 composer install
他们将获得与 composer.lock
.
所以简单的规则是 - 当你想安装相同的东西时,你应该有 composer.json
和 composer.lock
和 运行 composer install
如果你想将所有软件包更新为您在 composer.json
中的版本,您应该 运行 composer update