在提交pull请求之前,我想尝试在本地项目中对Doctrine ORM所做的修改。
我已经在GitHub存储库克隆中的default-lockmode
分支上推送了我的修改,然后将以下内容添加到composer.json:
{
"require": {
"doctrine/orm": "dev-default-lockmode"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/BenMorel/doctrine2.git"
}
]
}
我认为这会更喜欢在我的Git存储库中找到的doctrine/orm
包,而不是来自Packagist的包,但仍然从Packagist加载其他包。
然而,当我运行composer update
时,我会得到以下错误:
您的需求无法解析为一组可安装的软件包。
问题1
- 条令/orm-dev默认锁定模式->的安装请求可由条令/orm[dev默认锁定模式]满足
- 条令/orm-dev默认锁定模式需要条令/dbal>=2.5-dev,<2.6-dev->未找到匹配的包
潜在原因:
- 程序包名称中的拼写错误
- 根据您的最低稳定性设置,该软件包没有足够稳定的版本
所以看起来它现在希望在我的GitHub存储库中找到所有包。
是否可以仅为doctrine/orm
使用自定义存储库,但仍为所有其他存储库使用Packagist?
我只是缺少minimum-stability
设置:
{
"minimum-stability": "dev",
"require": {
"doctrine/orm": "dev-default-lockmode"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/BenMorel/doctrine2.git"
}
]
}
DBAL原则是从Packagist中正确提取的,这不是问题所在。真正的问题是这个包还没有发布为稳定的。
和往常一样,答案在错误消息中,我忽略了它:
根据您的最低稳定性设置,该包没有足够稳定的版本
您的问题似乎是包含的包本身具有依赖项
"require": {
"php": ">=5.3.2",
"ext-pdo": "*",
"doctrine/collections": "~1.1",
"doctrine/dbal": ">=2.5-dev,<2.6-dev",
"symfony/console": "2.*"
},
这些问题看起来像是试图从您的存储库中解决。
你有没有在配置中留下对条令的原始引用。需要它们来解析集合/dbal。
您的私人存储库应该优先考虑。
为了满足依赖性,您还应该查看别名
https://getcomposer.org/doc/05-repositories.md#using-private-repositories
如果你需要进一步的帮助,你可以发布更多的composer文件。