在一个作曲家设置我需要vendor/package-A
和vendor/package-B
程序包B建立在包A和具有限定在其composer.json的要求。
直接安装基本套餐A工作正常。 其他要求从Packagist解决,包本身正确地从私人仓库拉。
然而,仅安装包B(那么这也应该在拉包A由于要求)时,我得到以下错误:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for vendor/package-B dev-master@dev -> satisfiable by vendor/package-B[dev-master].
- vendor/package-B dev-master requires vendor/package-A dev-master@dev -> no matching package found.
两种封装没有任何标记的版本,并在开发主机版本操作。
有我俯瞰的东西吗?
编辑
对于那些有兴趣在该解决方案,这是从我从下面所选择的答案教训的总结。
基本上,三种方法存在让安装深DEV-主的依赖。 在最值得推荐的顺序为:
标签所有版本和使用标记的版本约束,而不是到处DEV-大师。 (其实我结束了做这个!)
在您的应用程序的
composer.json
,增加一个额外的使用需要重点@dev
标志你在开发中所需要的相应的subdepencency:{ "require": { "vendor/package-B": "dev-master", "vendor/package-A": "@dev" } }
这样,您就基本上白名单特定subdependency用作开发。
在您的应用程序的
composer.json
,加上minimum-stability
和prefer-stable
键如下。{ "minimum-stability": "dev", "prefer-stable" : true }
在这最后的方法降低你的稳定性约束为dev,但是你也设置,如果一个稳定的版本,你会更喜欢一个来代替。 在大多数情况下,这将产生想要的行为,但有时也可以是古怪。