geeks4change / composer-pin
提供辅助命令以实现项目级别的版本/哈希锁定。
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
您上面导出的确切版本。