在Composer中使用自定义Git存储库和Packagist



在提交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文件。

相关内容

  • 没有找到相关文章

最新更新