nathandentzau / composer-installers-extender
扩展composer/installers插件以接受任何任意的包类型。
Requires
- php: ^7.4
- composer-plugin-api: ^1.0
- composer/installers: ^1.0
Requires (Dev)
- composer/composer: ^1.10
- phpunit/phpunit: ^9.2
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-26 11:38:59 UTC
README
composer-installers-extender
是一个用于 Composer 的插件,允许任何包被安装到除项目默认 vendor
目录之外的目录。此插件扩展了 composer/installers
插件,允许任何任意的包类型通过它们的自定义安装程序进行处理。
composer/installers
插件支持有限的包类型集,我们认识到需要将任意包类型安装到除 vendor
之外的特定目录。此插件允许通过 composer/installers
插件处理更多的包类型,并从中受益于它们的显式安装路径映射和包属性的令牌替换。
要求
- PHP 7.4 或更高版本
如何安装
将 nathandentzau/composer-installers-extender
添加为项目的依赖项
$ composer require nathandentzau/composer-installers-extender
如何使用
composer/installers
插件是此插件的依赖项,如果尚未要求,它将自动要求。
为了支持额外的包类型,在您的 composer.json
中的 extra
属性中添加这些类型的数组
{ "extra": { "installer-types": ["library"] } }
然后,您可以以与添加由 composer/installers
支持的包类型相同的方式,在相同的位置添加这些类型的包的映射
{ "extra": { "installer-types": ["library"], "installer-paths": { "special/package/": ["my/package"], "path/to/libraries/{$name}/": ["type:library"] } } }
默认情况下,未指定 type
的包将被视为 library
类型。添加对此类型的支持允许将这些包放置在不同的安装路径中。
如果类型已添加到 installer-types
,则插件将尝试在映射中找到显式的安装程序路径。如果没有通过名称或类型匹配,则将使用所有包的默认安装程序路径。
有关包和类型匹配的支持语法以及路径中支持替换令牌的详细信息,请参阅 composer/installers
的 README。
为什么该项目要分支?
多年前,我为 oomphinc/composer-installers-extender
项目做出了贡献,以使代码库现代化并添加测试。自从我的更改合并到该项目的默认分支以来,维护者已经多年没有发布包含我的更改的新标签版本,对拉取请求的响应也很慢。我决定维护自己的版本,其中包含我多年前为将代码库更新到 PHP 7 的更改。随着 Composer 2 和 PHP 8 即将到来,我希望能够快速发布支持这两个新主要版本的更改。此包的原作者,他不再是 Oomph 的雇员,仍然被列为作者,并提供更新的联系信息,以便您与他联系。