我试图要求旧版本的库,它没有标签。 存储库定义如下:
"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。 您唯一的选择是使用此提交创建一个锁定文件。
是的,有关更多详细信息,请参阅https://getcomposer.org/doc/04-schema.md#package -links 上的蓝色注释(需要滚动一下)。
好的,当然,谢谢你的解释。
最有用的评论
那是因为 composer 不知道该特定哈希中的 composer.json 文件。 Packagist 只为 dev-master 存储最新的 composer.json。 Composer 无法确定该特定提交的 composer.json 中的内容。 它需要一个 git clone 才能确定。 出于理智的原因,这不受支持,请参阅#599。 您唯一的选择是使用此提交创建一个锁定文件。