我真的不明白 Composer 如何在最低稳定性设置下工作。

我有两个包裹。比方说, PackageAPackageB
composer.jsonPackageA 文件如下所示:

{
    "name": "vendor/packagea",
    "minimum-stability": "dev",
    "require": {
        "vendor/packageb": "dev"
    }
}

所以 PackageA 需要 PackageBPackageB 的 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 创建一个版本......

最佳答案

有两个问题:

在 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"
    }
}

关于github - 根据您的最低稳定性设置,该软件包没有足够稳定的版本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23083045/

10-13 01:30