Satis循环依赖

时间:2015-03-30 12:53:23

标签: php composer-php packagist satis

我有一个包含多个包的项目 每个包都在一个私有的git仓库中。

某些软件包具有彼此的依赖关系。

您可以在此处查看我的http://codepen.io/anon/pen/wBOEQW页面的外观。

现在,如果我克隆项目-xpto / core,并运行一个作曲家更新,我得到这个:

  

➜php-core git :(主)作曲家更新       使用包信息加载composer存储库       更新依赖项(包括require-dev)       您的要求无法解析为可安装的软件包。

  Problem 1
    - Installation request for project-xpto/event dev-master -> satisfiable by project-xpto/event[dev-master].
    - project-xpto/event dev-master requires project-xpto/activity-streams dev-master -> no matching package found.
  Problem 2
    - Installation request for project-xpto/tool dev-master -> satisfiable by project-xpto/tool[dev-master].
    - project-xpto/tool dev-master requires project-xpto/activity-streams dev-master -> no matching package found.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion>
     

了解更多详情。

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

难道不是要满足所有依赖关系并且一切正常吗?

我做错了什么?

如果您还有其他需要,请问我会在这里更新。

1 个答案:

答案 0 :(得分:2)

请试一试:

"minimum-stability": "dev"添加到composer.json的{​​{1}}。

您需要大量project-xpto/core稳定性套餐,但默认的最低稳定性为dev-master。所以他们没有解决稳定的问题。您需要通过在主项目composer.json中设置上述指令,将所有包的稳定性降低到stable

或者,您可以使用dev来降低特定包的稳定性。但是这里有很多软件包,所以我建议为整个项目设置最小稳定性开发。


你可以结合&#34;最小稳定性开发&#34;用&#34; prefer-stable true&#34;。 这告诉Composer解析稳定版本,并且只有在无法解析稳定版本时,才使用dev依赖项。这个设置是私有项目开始阶段的好方法,其中包开始从&#34; dev-master&#34;进入&#34;稳定版本&#34;。

dev-master@dev