alipeng / composer-installers-extender
扩展 composer/installers 插件以接受任何任意包类型。
Requires
- php: >=7.1
- composer-plugin-api: ^1.1 || ^2.0
- composer/installers: ^1.0
Requires (Dev)
- composer/composer: ^2.0
- phpunit/phpunit: ^7.2
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-09-26 19:40:01 UTC
README
composer-installers-extender
是一个针对 Composer 的插件,允许将任何包安装到项目默认 vendor
目录之外的目录。此插件扩展了 composer/installers
插件,允许任何任意包类型通过它们的自定义安装程序进行处理。
composer/installers
插件支持有限数量的包类型,我们认识到需要将任意包类型安装到除 vendor
之外的特定目录。此插件允许通过 composer/installers
插件处理更多包类型,从而受益于其显式的安装路径映射和包属性的标记替换。
如何安装
将 oomphinc/composer-installers-extender
添加为项目的依赖项
$ composer require oomphinc/composer-installers-extender
此插件需要至少 PHP 7.1。如果你使用的是较低版本的 PHP,请使用最新的稳定 1.x 版本
$ composer require oomphinc/composer-installers-extender:^1.1
如何使用
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 以查看支持的包和类型匹配语法以及路径中支持替换的标记(例如,{$name}
)。