我真的不明白Composer如何使用最小稳定性设置.
我有两个包.让我们说吧,PackageA
和PackageB
.
该composer.json
文件PackageA
看起来像这样:
{ "name": "vendor/packagea", "minimum-stability": "dev", "require": { "vendor/packageb": "dev" } }
所以PackageA
需要PackageB
.json PackageB
看起来像这样:
{ "name": "vendor/packageb", "minimum-stability": "dev" }
所以两者都说最小稳定性dev
.所以我假设我这样做:
composer create-project vendor/packagea
但随后它抱怨了这条消息:
[InvalidArgumentException] Could not find package vendor/packagea with stability stable.
我发现这很奇怪,因为我认为设置最小稳定性dev
会将包从其"开发"分支中拉出来.在github的情况下总是如此dev-master
.
所以我试着通过告诉作曲家使用什么分支来安装它:
composer create-project vendor/packagea testFolder dev-master
但后来它抱怨它无法找到PackageB
:
Installing dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - The requested package vendor/packageb dev could not be found.
那我怎么能安装我的包?我还在开发所以我不想为PackageA和PackageB创建一个版本......
有两个问题:
在create-project中,默认情况下,该命令使用稳定稳定性来查找要安装的软件包,这就是为什么如果指定dev-master而不是默认情况下它可以工作的原因.但是你也可以跑composer create-project vendor/packagea -s dev
在安装依赖项之后,我猜测你的软件包在刚刚调用的版本中不存在dev
,所以如果你需要它就找不到它.需要dev-master可能会起作用,例如:
{ "name": "vendor/packagea", "minimum-stability": "dev", "require": { "vendor/packageb": "dev-master" } }