geeks4change/composer-pin

提供辅助命令以实现项目级别的版本/哈希锁定。

dev-master / 1.x-dev 2020-06-02 10:38 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:51 UTC


README

此包提供bash命令

  • composer-pin (待办事项)
  • composer-pin-off (待办事项)
  • composer-pin-apply

为什么需要锁定?

锁定是防止Composer更新的做法,通过明确要求特定版本。它有两种形式

  • 版本锁定
  • 哈希锁定

什么是版本锁定?

而不是 require foo/bar:^1.0 (更新到任何1.x版本),您可以使用 composer require foo/bar:1.3

此包有助于此做法。

什么是哈希锁定?

在Composer中,您可以使用 composer require foo/bar#123456 来锁定到特定的提交。这是一个明确不支持的Composer维护者的糟糕做法。

尽管如此,此包也有助于这种不神圣的做法。

如何使用composer-pin

这尚未实现

在您的composer-root中,执行 ./vendor/bin/composer-pin foo/bar,这将导致版本锁定将有效地变为 composer require foo/bar:1.3(如果1.3是当前版本)。哈希锁定将有效地变为 composer require foo/bar:1.x-dev#123456(如果 123456 是当前提交哈希)。

如果 foo/bar 未安装,则不执行任何操作。

无论如何,记录为什么最初进行锁定是一个好习惯,并努力上游以发布一个稳定的版本,该版本可以去除锁定的需要。

如何使用composer-pin-off

这尚未实现

在您的composer-root中,执行 ./vendor/bin/composer-pin-off foo/bar,这将导致版本锁定将有效地变为 composer require foo/bar:^1(如果位于任何1.x版本)。这可能会导致更新。

如何使用composer-pin-apply

在您的composer root中,例如:执行 composer show -i drupal/* >pinnings/stable。之后,您可以执行:./vendor/bin/composer-pin-apply pinnings/stable,这将 composer require 您上面导出的确切版本。