mnsami / composer-custom-directory-installer
一个 composer 插件,用于帮助在不同路径下安装不同类型的包。
2.0.0
2020-08-18 11:00 UTC
Requires
- php: >=5.3
- composer-plugin-api: ^1.0 || ^2.0
This package is auto-updated.
Last update: 2024-09-21 12:50:29 UTC
README
一个 composer 插件,用于在默认 composer 安装路径(即 vendor
文件夹)之外的定制目录中安装不同类型的 composer 包。
这并不是另一个用于支持非 composer 包类型的 composer-installer
库,例如 application
等。这只是为了增加在供应商文件夹之外安装 composer 包的灵活性。此包仅支持 composer
包类型,
https://getcomposer.org.cn/doc/04-schema.md#type
包的类型。默认为 library。
包类型用于自定义安装逻辑。如果您有一个需要一些特殊逻辑的包,您可以为它定义一个自定义类型。这可能是一个 symfony-bundle、一个 wordpress-plugin 或一个 typo3-module。这些类型都将特定于某些项目,并且它们将需要提供一个能够安装该类型包的安装程序。
如何使用
- 将 composer 插件包含到您的
composer.json
文件的require
部分:
"require":{
"php": ">=5.3",
"mnsami/composer-custom-directory-installer": "1.1.*",
"monolog/monolog": "*"
}
- 在
extra
部分中定义您希望包安装的定制目录:
"extra":{
"installer-paths":{
"./monolog/": ["monolog/monolog"]
}
}
通过添加 installer-paths
部分,您告诉 composer 在根目录下的 monolog
文件夹中安装 monolog
包。
- 作为一个新增功能,我们在定义下载目录方面增加了更多灵活性,类似于
composer/installers
,换句话说,您可以在installer-path
部分中使用变量,如{$vendor}
和{$name}
:
"extra": {
"installer-paths": {
"./customlibs/{$vendor}/db/{$name}": ["doctrine/orm"]
}
}
上述方法将能够在项目的根目录下 customlibs
目录中安装 doctrine/orm
包。
注意
此安装程序不支持 composer 的 type: project
,因为类型为 project
的包只适用于与应用程序外壳(如 symfony/framework-standard-edition
)一起使用,由另一个包要求。