Composer: 从存储库中签出特定提交时,从分支的最顶层提交中的 composer.json 错误地解析了需求

创建于 2015-02-04  ·  3评论  ·  资料来源: composer/composer

我试图要求旧版本的库,它没有标签。 存储库定义如下:

    "repositories": [
        { "type": "vcs", "url": "https://github.com/nette/nette.git" }
    ],
    "require": {
        "nette/nette": "dev-master#b8ca5b82d407453b8cf26ce08a36ee698452d000"
    },

提交存在于分支dev-master中,composer.json存在,没有任何要求,但是在composer install上发出错误,表明该包解决了来自dev-master最高提交的要求dev-master分支:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - nette/nette dev-master requires nette/application >=2.3.0 -> no matching package found.
    - nette/nette dev-master requires nette/application >=2.3.0 -> no matching package found.
    - Installation request for nette/nette dev-master#b8ca5b82d407453b8cf26ce08a36ee698452d000 -> satisfiable by nette/nette[dev-master].

作曲家版本是07c644ac229a21df80180598d8bb9aaba232eecb

最有用的评论

那是因为 composer 不知道该特定哈希中的 composer.json 文件。 Packagist 只为 dev-master 存储最新的 composer.json。 Composer 无法确定该特定提交的 composer.json 中的内容。 它需要一个 git clone 才能确定。 出于理智的原因,这不受支持,请参阅#599。 您唯一的选择是使用此提交创建一个锁定文件。

所有3条评论

那是因为 composer 不知道该特定哈希中的 composer.json 文件。 Packagist 只为 dev-master 存储最新的 composer.json。 Composer 无法确定该特定提交的 composer.json 中的内容。 它需要一个 git clone 才能确定。 出于理智的原因,这不受支持,请参阅#599。 您唯一的选择是使用此提交创建一个锁定文件。

是的,有关更多详细信息,请参阅https://getcomposer.org/doc/04-schema.md#package -links 上的蓝色注释(需要滚动一下)。

好的,当然,谢谢你的解释。

此页面是否有帮助?
0 / 5 - 0 等级