roygoldman / composer-installers-discovery
一个允许依赖项提供相对于父项目的安装器路径的composer安装器扩展。
Requires
- composer-plugin-api: ^1.1
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上的一个问题。我愿意解决任何兼容性和用例问题,并在此项目的逻辑合理之处添加新功能。如果您能花时间调试并可能修复问题,这将是受欢迎的,并且总是欢迎拉取请求!