尝试使用作曲家的provide功能,我在我的实施存储库ffa-php-mock中添加了provide
部分,我在其中提供了shadiakiki1986/ffa-php-implementation。在我使用此实现ffa-php-cli的存储库中,我替换了需要ffa-php-mock
的{} {}需要entry的作曲家需求ffa-php-implementation
。如果我尝试运行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
功能已经存在的东西。 entry提供了phpcr/phpcr-implementation
,jackalope/jackalope已经要求composer init
。
如果我使用phpcr/phpcr-implementation
启动一个新的空项目并指定我的项目取决于phpcr/phpcr-implementation
,我会得到与上面相同的错误。我还尝试将composer update
直接放在composer.json文件中并运行> cat composer.json
{
"require": {
"phpcr/phpcr-implementation": "2.1.0"
}
}
,但无济于事。
> composer --version
Composer version 1.3.0 2016-12-24 00:47:03
我认为这可能是作曲家的一个错误,但似乎DoctrinePHPCRBundle它已经在使用。
provide
我能找到的最接近的作曲家github问题是this issue,但是那个说明报告不明确,而不是#container {
height: 150px;
display: flex;
}
#results {
overflow-y: scroll;
}
不起作用
答案 0 :(得分:1)
所以我最终得知具有实现的特定包仍应包含在composer.json文件中。对于使用该库的软件包,可以将它们添加到require
部分。对于直接需要实现的库,应该在require-dev
中完成,以便单元测试可以工作,因此使用库的其他项目不需要使用相同的实现