如何将包安装到我框架的自定义路径?#

每个框架可能有一个或多个不同的必需包安装路径。Composer 可以配置为使用 composer/installers 将包安装到除默认 vendor 文件夹之外的文件夹。

如果您是 **包作者** 并希望将您的包安装到自定义目录,请使用 composer/installers 并设置相应的 type。指定包类型将覆盖默认的安装程序路径。如果您的包 предназначен для特定的框架,例如 CakePHP、Drupal 或 WordPress,这很常见。以下是一个 WordPress 主题的 composer.json 文件示例

{
    "name": "you/themename",
    "type": "wordpress-theme",
    "require": {
        "composer/installers": "~1.0"
    }
}

现在,当您的主题使用 Composer 安装时,它将被放置到 wp-content/themes/themename/ 文件夹中。查看 当前支持的类型 了解您的包。

作为 **包消费者**,您可以通过配置 installer-paths 扩展来设置或覆盖需要 composer/installers 的包的安装路径。一个有用的示例是 Drupal 多站点设置,其中包应安装到您站点的子目录中。在这里,我们覆盖了使用 composer/installers 的模块的安装路径,并将所有类型为 drupal-theme 的包放到 themes 文件夹中

{
    "extra": {
        "installer-paths": {
            "sites/example.com/modules/{$name}": ["vendor/package"],
            "sites/example.com/themes/{$name}": ["type:drupal-theme"]
        }
    }
}

现在,包将被安装到您的文件夹位置,而不是默认的 composer/installers 确定的位置。此外,installer-paths 是依赖于顺序的,这意味着通过名称移动包应该在匹配相同包的 type:* 的安装程序路径之前。

注意:您不能使用此功能更改任何包的路径。这仅适用于需要 composer/installers 并使用它处理的自定义类型的包。

发现错别字?文档中有什么不对? 分叉并编辑 它!