Skip to content

Can't composer require on symfony 8 (overblog/graphiql-bundle should be optionnal) #271

@charly-ffss

Description

@charly-ffss

Hi,

Now that graphqlite v8.1.2 is available and compatible with symfony/cache ^8,
I tried to install graphqlite-bundle on a fresh Symfony 8 project.

Expected result:

  • composer require thecodingmachine/graphqlite-bundle should succeed
  • GraphiQL support should remain optional, as stated in the README:

    "The bundle wires Overblog’s GraphiQL bundle if it is installed"

Actual result:
The installation fails because graphqlite-bundle requires overblog/graphiql-bundle,
which is not compatible with Symfony 8.

This makes GraphiQL effectively mandatory, even though it is documented as optional.

Composer output:

composer require thecodingmachine/graphqlite-bundle

./composer.json has been updated
Running composer update thecodingmachine/graphqlite-bundle
Loading composer repositories with package information
Restricting packages listed in "symfony/symfony" to "8.0.*"
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires thecodingmachine/graphqlite-bundle * -> satisfiable by thecodingmachine/graphqlite-bundle[v3.0.0, v4.0.0, ..., v4.1.4, v5.0.0, v5.4.0, v6.0.0, ..., v6.2.0, v7.0.0, ..., v7.2.0].
    - overblog/graphiql-bundle[v0.2.0, ..., v0.2.1] require symfony/framework-bundle ^3.4 || ^4.0 || ^5.0 -> found symfony/framework-bundle[v3.4.0, ..., v3.4.47, v4.0.0, ..., v4.4.51, v5.0.0, ..., v5.4.45] but it conflicts with your root composer.json require (8.0.*).
    - overblog/graphiql-bundle v0.3.0 requires symfony/http-foundation ^5.3.7 || ^6.0 -> found symfony/http-foundation[v5.3.7, ..., v5.4.50, v6.0.0, ..., v6.4.30] but the package is fixed to v8.0.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - overblog/graphiql-bundle v1.0.0 requires symfony/http-foundation ^5.4 || ^6.0 || ^7.0 -> found symfony/http-foundation[v5.4.0, ..., v5.4.50, v6.0.0, ..., v6.4.30, v7.0.0, ..., v7.4.1] but the package is fixed to v8.0.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - thecodingmachine/graphqlite-bundle v3.0.0 requires symfony/framework-bundle ^4.1.9 -> found symfony/framework-bundle[v4.1.9, ..., v4.4.51] but it conflicts with your root composer.json require (8.0.*).
    - thecodingmachine/graphqlite-bundle[v4.0.0, ..., v4.1.3] require symfony/framework-bundle ^4.1.9 | ^5 -> found symfony/framework-bundle[v4.1.9, ..., v4.4.51, v5.0.0, ..., v5.4.45] but it conflicts with your root composer.json require (8.0.*).
    - thecodingmachine/graphqlite-bundle[v4.1.4, v5.0.0] require symfony/framework-bundle ^4.2 || ^5 -> found symfony/framework-bundle[v4.2.0, ..., v4.4.51, v5.0.0, ..., v5.4.45] but it conflicts with your root composer.json require (8.0.*).
    - thecodingmachine/graphqlite-bundle v5.4.0 requires symfony/framework-bundle ^5.4 || ^6 -> found symfony/framework-bundle[v5.4.0, ..., v5.4.45, v6.0.0, ..., v6.4.30] but it conflicts with your root composer.json require (8.0.*).
    - thecodingmachine/graphqlite-bundle[v6.0.0, ..., v6.0.3] require symfony/framework-bundle ^6 -> found symfony/framework-bundle[v6.0.0, ..., v6.4.30] but it conflicts with your root composer.json require (8.0.*).
    - thecodingmachine/graphqlite-bundle[v6.1.0, ..., v6.2.0, v7.0.0, ..., v7.1.2] require symfony/config ^6.4 || ^7 -> found symfony/config[v6.4.0, ..., v6.4.28, v7.0.0, ..., v7.4.1] but the package is fixed to v8.0.1 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - thecodingmachine/graphqlite-bundle v7.2.0 requires overblog/graphiql-bundle ^0.2 || ^0.3 || ^1 -> satisfiable by overblog/graphiql-bundle[v0.2.0, v0.2.1, v0.3.0, v1.0.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require thecodingmachine/graphqlite-bundle:*" to figure out if any version is installable, or "composer require thecodingmachine/graphqlite-bundle:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Would it be possible to:

  • move overblog/graphiql-bundle to require-dev or suggest
  • or otherwise make GraphiQL truly optional for Symfony 8 projects?

Thank you in advance, and thanks again for your responsiveness on yesterday’s issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions