14

我真的不明白 Composer 如何使用最低稳定性设置。

我有两个包裹。比方说,PackageAPackageB

composer.json文件PackageA如下所示:

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

所以PackageA需要PackageB. 的 jsonPackageB看起来像这样:

{
    "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 创建一个版本...

4

2 回答 2

14

有两个问题:

在 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"
    }
}
于 2014-04-15T12:43:27.063 回答
0

我是如何解决这个问题的?

安装 Composer 后,运行以下命令安装 Composer Asset Plugin:

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"

现在选择其中一个应用程序模板开始安装 Yii 2.0。应用程序模板是一个包,其中包含用 Yii 编写的 Web 应用程序的骨架。

于 2017-10-21T09:23:57.393 回答