mnsami/composer-custom-directory-installer

一个 composer 插件,用于帮助在不同路径下安装不同类型的包。

资助包维护!
mnsami

安装次数: 3,456,935

依赖者: 68

建议者: 0

安全性: 0

星标: 138

关注者: 8

分支: 27

开放问题: 2

类型:composer-plugin

2.0.0 2020-08-18 11:00 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)一起使用,由另一个包要求。