Composer本地包

时间:2015-03-28 12:02:16

标签: composer-php

我无法让作曲家与本地包合作。

包A:

{
  "name": "package/A",
  "repositories": [
    {
      "type": "vcs",
      "url": "../B"
    }
  ],
  "require": {
    "package/B": "dev-master"
  }
}

包B:

{
  "name": "package/B",
  "repositories": [
    {
      "type": "vcs",
      "url": "../C"
    }
  ],
  "require": {
    "package/C": "dev-master"
  }
}

包C:

{
  "name": "package/C",
}

现在安装包B工作正常,它可以正确解析包C. 安装程序包A失败,因为它无法从程序包B解析程序包C,程序包B是程序包A的唯一依赖项。

我无法找到有关此@google的任何信息,看起来作曲家无法处理本地软件包中的这种复杂性。希望我错了。

这是一个小例子,可以更好地理解这个问题。 enter image description here

1 个答案:

答案 0 :(得分:1)

Composer doesn't load local repos recursively

1)您可以在A中声明B和C的依赖关系。您必须在composer.json中重新定义依赖关系。在这里,这将为A的<。p>的composer.json添加一些需求和存储库定义

2)或者您可以设置一个本地Satis代理,它为您的私人包提供服务。

依赖项的私有或公开发布将解决这种情况。