我其实不太理解Composer如何与minimum-stability设置配合工作。
我有两个包。假设它们是PackageA
和PackageB
。
PackageA
的composer.json
文件如下:
{
"name": "vendor/packagea",
"minimum-stability": "dev",
"require": {
"vendor/packageb": "dev"
}
}
所以PackageA
需要PackageB
。 PackageB
的JSON如下所示:
{
"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使用哪个分支来安装它:
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创建发布版本...
require
更改为dev-master
确实有效。还必须使用dev-master
选项安装它。但是这仍然对我来说似乎很奇怪。看起来dev
完全没有用,因为它对我真的没有任何作用。 - Vivendi*@dev
作为版本约束是有效的,因为它允许使用开发版本。但是,仅使用dev
会尝试查找与该名称完全匹配的版本,而这样的版本并不存在。 - SeldaekInvalid stability provided (=dev) must be one of: stable, RC, beta, alpha, dev
必须是-sdev:composer create-project vendor/packagea -sdev
- dave