metalinspired / multi-composer
Composer 插件,帮助处理具有多个 composer 实例的项目依赖关系
1.0.1
2023-08-23 08:40 UTC
Requires
- php: ^7.2.5 || ^8.0
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.4
- squizlabs/php_codesniffer: ^3.7.1
- vimeo/psalm: ^4.30
This package is auto-updated.
Last update: 2024-09-23 11:34:48 UTC
README
如果你处于一个项目需要两个(或更多)composer 实例,并且它们需要(并安装)相同包的情况,此插件将帮助你通过重用其中一个实例已安装的包来解决问题。
它通过读取 composer.lock
并生成(并注入)提供的和冲突的包列表来实现这一点。
安装
-
将你的源 composer 实例作为仓库添加到
composer.json
"repositories": [ { "type": "path", "url": "../where_other_composer_is_installed", "options": { "symlink": true } } ]
-
安装此插件(通过输入 "y" 确认你信任并希望启用插件)
composer require metalinspired/multi-composer
-
配置插件
"extra": { "multi-composer": [ { "package": "your-vendor-name/your-project-name:dev-main", "autoload_psr-4": false, "skip_dev": false } ] }
-
需要你的源 composer 实例
composer require your-vendor-name/your-project-name:dev-main
配置选项
package
: 包含你的源 composer 实例名称和版本的字符串。这必须以与你要求源 composer 实例相同的形式提供(项目名称:版本)
autoload_psr-4
: 可选的布尔值,指示是否包含在源 composer 实例中定义的 PSR-4 命名空间(s)。
注意: 这仅在安装(请求)你的源 composer 实例时起作用。更改此值并更新将没有任何效果。你必须移除并重新要求(重新安装不起作用)你的源 composer 实例。
skip_dev
: 可选的布尔值,指示是否跳过 dev 依赖项。如果您的源 composer 实例具有相同的 dev 要求但未安装它们,这将很有用。