metalinspired/multi-composer

Composer 插件,帮助处理具有多个 composer 实例的项目依赖关系

安装: 17

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:composer-plugin

1.0.1 2023-08-23 08:40 UTC

This package is auto-updated.

Last update: 2024-09-23 11:34:48 UTC


README

如果你处于一个项目需要两个(或更多)composer 实例,并且它们需要(并安装)相同包的情况,此插件将帮助你通过重用其中一个实例已安装的包来解决问题。

它通过读取 composer.lock 并生成(并注入)提供的和冲突的包列表来实现这一点。

安装

  1. 将你的源 composer 实例作为仓库添加到 composer.json

    "repositories": [
       {
         "type": "path",
         "url": "../where_other_composer_is_installed",
         "options": {
           "symlink": true
         }
       }
    ]
    
  2. 安装此插件(通过输入 "y" 确认你信任并希望启用插件)

    composer require metalinspired/multi-composer
    
  3. 配置插件

    "extra": {
      "multi-composer": [
        {
          "package": "your-vendor-name/your-project-name:dev-main",
          "autoload_psr-4": false,
          "skip_dev": false
        }
      ]
    }
    
  4. 需要你的源 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 要求但未安装它们,这将很有用。