roygoldman / composer-installers-discovery

一个允许依赖项提供相对于父项目的安装器路径的composer安装器扩展。

安装: 120

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

类型:composer-plugin

1.0.3 2018-09-25 15:07 UTC

This package is auto-updated.

Last update: 2024-09-19 08:35:59 UTC


README

composer/installers提供的扩展,允许项目依赖项定义安装器类型和这些类型的安装位置。

Composer Installers 支持

此项目不依赖于Composer Installers项目,也不会将其包含为依赖项。此项目可以完全独立使用,并将支持项目中需要的任何自定义安装器路径。

如何使用

要使用此项目,将其作为您composer项目或库的一部分进行要求。

composer require roygoldman/composer-installers-discovery

在此项目被要求后,任何模块安装都将尊重其他依赖项的安装器配置。任何在composer.json的额外部分中定义了installer-paths键的项目都将包含在包中。

要将此添加到您的项目中,只需在项目中定义此部分。

  "extra": {
    "installer-paths": {
      ...
      "path/to/libraries/{$name}/": ["type:library"]
      ...
    }
  }

局限性

此模块的使用有一些局限性。包发现按照包在requires块中定义的顺序遍历每个包的依赖项。这意味着如果多个项目为同一包类型定义了路径映射,则只使用第一个项目的路径。

此外,如果包定义了自己的映射,它们将覆盖那些依赖项目的映射。但是,如果同一个包被要求两次,并且高优先级的包没有被其他方式覆盖,则将使用该依赖项。

由于这两个限制,包的顺序可以直接影响安装器路径的映射。如果这是一个问题,请向GitHub提交问题,以便我可以为您的用例找到合适的解决方案。

覆盖依赖项的路径

根项目是安装器路径的最高权限。这意味着将使用根包中定义的任何安装器路径,而不是依赖项中定义的路径。这允许用户选择退出依赖项的安装器路径或替换它们。

支持

如果您对此模块有任何问题、评论或反馈,请打开GitHub上的一个问题。我愿意解决任何兼容性和用例问题,并在此项目的逻辑合理之处添加新功能。如果您能花时间调试并可能修复问题,这将是受欢迎的,并且总是欢迎拉取请求!