vendor-patch / composer-installers-extender
扩展composer/installers插件,以接受任何任意的包类型。
Requires
- php: >=7.0
- composer-plugin-api: ^1.1 || ^2.0
- composer/installers: ^1.0 || ^2.0
Requires (Dev)
- composer/composer: ^2.0
- phpunit/phpunit: ^7.2
- squizlabs/php_codesniffer: ^3.3
Provides
- oomphinc/composer-installers-extender: dev-master
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
属性中添加这些类型的数组
对于 composer/installers
< v1.0.13
{ "extra": { "installer-types": ["library"] } }
对于 composer/installers
>= v1.0.13
{ "extra": { "installer-types": ["drupal-library"] } }
然后,在添加到installer-paths
时引用该类型
对于 composer/installers
< v1.0.13
{ "extra": { "installer-types": ["library"], "installer-paths": { "special/package/": ["my/package"], "path/to/libraries/{$name}/": ["type:library"] } } }
对于 composer/installers
>= v1.0.13
{ "extra": { "installer-types": ["drupal-library"], "installer-paths": { "special/package/": ["my/package"], "path/to/libraries/{$name}/": ["type:drupal-library"] } } }
默认情况下,未指定type
的包将被视为library
类型。添加对此类型的支持允许将这些包放置在不同的安装路径上。
如果已将类型添加到installer-types
中,插件将尝试在映射中查找显式的安装程序路径。如果没有通过名称或类型匹配到,则将使用所有包的默认安装程序路径。
请参阅composer/installers
的README以查看包和类型匹配的受支持语法以及路径中的受支持替换令牌(例如{$name}
)。