aaemnnosttv / composer-hash-plugin
Composer 插件,用于在安装/更新时将当前 Composer 版本哈希写入文件。
dev-master
2021-08-15 14:10 UTC
Requires
- php: >=5.5
- composer-plugin-api: ^1.1 || ^2.0
- ext-json: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-15 20:35:52 UTC
README
一个 Composer 插件,用于在安装/更新时将 Composer 哈希写入文件以验证与版本控制系统的兼容性。
概述
该包旨在解决已安装的依赖与锁文件中定义的依赖不一致的问题。因此,它适用于 composer.lock
文件在版本控制下的项目。
安装后,该插件将在每次执行 composer install
或 update
后将 composer.lock
文件中的当前 content-hash
写入新的 composer.hash
文件。这是它将自动执行的唯一操作。
该新文件旨在从版本控制中排除。 然后,可以验证哈希值,但这需要(半)手动完成。请参见下文。
API
由于哈希文件是自动写入的,因此 API 提供了用于验证哈希的方法。
命令行界面
$ composer hash-verify
如果哈希验证失败,则命令将提供额外的反馈并以非零退出代码退出。
PHP
该插件公开了一个 ComposerHash\Hash::verify($path)
方法,其中 $path
是包含 composer.json
的项目根目录的绝对路径。此函数检查 composer.hash
是否与 composer.lock
文件中的相应哈希匹配(如果不匹配,则抛出 HashMismatchException
。如果使用无效的路径调用或 Composer 文件不可读,则会抛出其他异常。
安装
$ composer require aaemnnosttv/composer-hash-plugin
注意:生成的 composer.hash
文件旨在由源控制忽略,因此请确保根据相应更新 .gitignore
或其他版本控制系统。