Symfony 4 的 Rest-bundle 需要 4.3 版本的配置,而 Symfony 4 使用 5.0

Rest-bundle of Symfony 4 requires config in 4.3 version, while Symfony 4 uses 5.0

this tutorial 之后,我尝试在全新的 Symfony 4 安装上配置 REST API。

教程的第一步是做:

composer create-project symfony/skeleton rest_api_project

其次是

composer require friendsofsymfony/rest-bundle

但是,当我尝试安装 friendsofsymfony/rest-bundle 时,我得到:

Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for friendsofsymfony/rest-bundle ^2.6 -> satisfiable by friendsofsymfony/rest-bundle[2.6.0]. - friendsofsymfony/rest-bundle 2.6.0 requires symfony/config ^3.4|^4.3 -> no matching package found.

所以基本上这个包需要 symfony/config ^3.4|^4.3 而 Symfony 4 使用 5.0.

如何让它发挥作用?当 friendsofsymfony/rest-bundle 不支持 5.0 版本的配置时,本教程对 Symfony 4 的意义如何?

您正在使用的教程将此作为起点:

composer create-project \
    symfony/skeleton rest_api_project

没有版本限制,这指向最新版本的 Symfony 骨架。即版本 5.

问题是,FOS Rest Bundle 尚未更新为兼容 Symfony 5。

因此您需要创建项目和目标版本 4。

composer create-project\
    symfony/skeleton rest_api_project "4.*"

有了这个,你的依赖项的版本就会匹配。

And how this tutorial meant for Symfony 4 could even work when the friendsofsymfony/rest-bundle does not support config in 5.0 version?

本教程适用于 Symfony 4,但您安装的是 Symfony 5。