【发布时间】:2017-01-05 20:55:32
【问题描述】:
尝试使用 composer 的 provide 功能,我在我的实现存储库ffa-php-mock 中添加了一个provide 部分,我说它提供了shadiakiki1986/ffa-php-implementation。在使用此实现 ffa-php-cli 的存储库中,我将需要 ffa-php-mock 的作曲家需要 entry 替换为需要 ffa-php-implementation 的 entry。如果我尝试运行composer update,我会得到以下信息
> composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package shadiakiki1986/ffa-php-implementation could not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
你能给我一些关于如何调试问题所在的提示吗?
编辑:简化示例
我在一个已经存在的虚拟项目中尝试了provide 功能。 jackalope/jackalope 提供 phpcr/phpcr-implementation,而 DoctrinePHPCRBundle 已经需要它。
如果我使用composer init 启动一个新的空项目并指定我的项目依赖于phpcr/phpcr-implementation,我会收到与上述相同的错误。我还尝试将phpcr/phpcr-implementation 直接放在composer.json 文件中并运行composer update,但无济于事。
> cat composer.json
{
"require": {
"phpcr/phpcr-implementation": "2.1.0"
}
}
我认为这可能是 composer 中的一个错误,但从 this issue 看来它已经在使用中。
> composer --version
Composer version 1.3.0 2016-12-24 00:47:03
我能找到的最接近的 composer github 问题是 #2811,但那个说报告不清楚,而不是 provide 不起作用
【问题讨论】:
标签: php composer-php