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://composer.php.ac.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)一起使用,由另一个包要求。